diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperations.cs index ee284cbd3b14..a27e8458195a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperations.cs @@ -1,28 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// AppServiceCertificateOrdersOperations operations. @@ -35,13 +33,16 @@ internal partial class AppServiceCertificateOrdersOperations : IServiceOperation /// /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,25 +51,39 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Lists all domains in a subscription + /// List all certificate orders in a subscription. /// - /// Lists all domains in a subscription + /// + /// List all certificate orders in a subscription. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -81,35 +96,35 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -126,10 +141,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -137,7 +152,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -151,14 +166,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -193,9 +208,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -213,11 +228,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Validate certificate purchase information + /// Validate information for a certificate order. /// - /// Validate certificate purchase information + /// + /// Validate information for a certificate order. + /// /// - /// Certificate order + /// Information for a certificate order. /// /// /// Headers that will be added to request. @@ -225,10 +242,19 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ValidatePurchaseInformationWithHttpMessagesAsync(AppServiceCertificateOrder appServiceCertificateOrder, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task ValidatePurchaseInformationWithHttpMessagesAsync(AppServiceCertificateOrder appServiceCertificateOrder, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (appServiceCertificateOrder == null) { @@ -238,11 +264,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) { appServiceCertificateOrder.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -256,35 +282,35 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ValidatePurchaseInformation", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -302,15 +328,15 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) string _requestContent = null; if(appServiceCertificateOrder != null) { - _requestContent = SafeJsonConvert.SerializeObject(appServiceCertificateOrder, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(appServiceCertificateOrder, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -318,7 +344,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -326,22 +352,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -361,31 +379,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -394,11 +394,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Headers that will be added to request. @@ -406,6 +408,18 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -415,11 +429,26 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -433,36 +462,36 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -479,10 +508,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -490,7 +519,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -504,14 +533,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -546,9 +575,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -566,16 +595,16 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// /// Headers that will be added to request. @@ -583,6 +612,18 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -592,15 +633,30 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (certificateOrderName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "certificateOrderName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -615,37 +671,37 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListCertificates", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{certificateOrderName}", Uri.EscapeDataString(certificateOrderName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{certificateOrderName}", System.Uri.EscapeDataString(certificateOrderName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -662,10 +718,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -673,7 +729,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -687,14 +743,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -729,9 +785,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -749,17 +805,19 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Get certificate associated with the certificate order + /// Get the certificate associated with a certificate order. /// - /// Get certificate associated with the certificate order + /// + /// Get the certificate associated with a certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// /// /// Headers that will be added to request. @@ -767,6 +825,18 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -776,6 +846,21 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (certificateOrderName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "certificateOrderName"); @@ -784,11 +869,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -804,38 +889,38 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "GetCertificate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{certificateOrderName}", Uri.EscapeDataString(certificateOrderName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{certificateOrderName}", System.Uri.EscapeDataString(certificateOrderName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -852,10 +937,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -863,7 +948,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -877,14 +962,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -919,9 +1004,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -939,22 +1024,22 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// Creates or updates a certificate and associates with key vault secret. /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// + /// Creates or updates a certificate and associates with key vault secret. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// /// - /// Key Vault secret csm Id + /// Key vault certificate resource Id. /// /// /// The headers that will be added to request. @@ -965,30 +1050,24 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) public async Task> CreateOrUpdateCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateCertificateWithHttpMessagesAsync( - resourceGroupName, certificateOrderName, name, keyVaultCertificate, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); + AzureOperationResponse _response = await BeginCreateOrUpdateCertificateWithHttpMessagesAsync(resourceGroupName, certificateOrderName, name, keyVaultCertificate, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); } /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// Delete the certificate associated with a certificate order. /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// + /// Delete the certificate associated with a certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name - /// - /// - /// Key Vault secret csm Id + /// Name of the certificate. /// /// /// Headers that will be added to request. @@ -996,15 +1075,39 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (certificateOrderName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "certificateOrderName"); @@ -1013,19 +1116,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (keyVaultCertificate == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "keyVaultCertificate"); - } - if (keyVaultCertificate != null) - { - keyVaultCertificate.Validate(); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1036,44 +1131,43 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("certificateOrderName", certificateOrderName); tracingParameters.Add("name", name); - tracingParameters.Add("keyVaultCertificate", keyVaultCertificate); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateCertificate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteCertificate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{certificateOrderName}", Uri.EscapeDataString(certificateOrderName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{certificateOrderName}", System.Uri.EscapeDataString(certificateOrderName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1089,17 +1183,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(keyVaultCertificate != null) - { - _requestContent = SafeJsonConvert.SerializeObject(keyVaultCertificate, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1107,7 +1195,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1115,22 +1203,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1150,31 +1230,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1183,17 +1245,16 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Deletes the certificate associated with the certificate order + /// Get a certificate order. /// - /// Deletes the certificate associated with the certificate order + /// + /// Get a certificate order. + /// /// - /// Azure resource group name - /// - /// - /// Certificate name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// /// /// Headers that will be added to request. @@ -1201,28 +1262,51 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (certificateOrderName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "certificateOrderName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1231,45 +1315,43 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("certificateOrderName", certificateOrderName); tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteCertificate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{certificateOrderName}", Uri.EscapeDataString(certificateOrderName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1286,10 +1368,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1297,7 +1379,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1311,14 +1393,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1340,7 +1422,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1353,9 +1435,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1373,14 +1455,44 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Get a certificate order + /// Create or update a certificate purchase order. /// - /// Get a certificate order + /// + /// Create or update a certificate purchase order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, certificateDistinguishedName, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Delete an existing certificate order. + /// + /// + /// Delete an existing certificate order. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate. /// /// /// Headers that will be added to request. @@ -1388,24 +1500,48 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteCertificateOrderWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1417,40 +1553,40 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteCertificateOrder", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1467,10 +1603,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1478,7 +1614,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1486,22 +1622,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1521,31 +1649,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1554,46 +1664,218 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Create or update a certificate purchase order + /// Reissue an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Reissue an existing certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Parameters for the reissue. /// /// - /// The headers that will be added to request. + /// Headers that will be added to request. /// /// /// The cancellation token. /// - public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task ReissueWithHttpMessagesAsync(string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (reissueCertificateOrderRequest == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "reissueCertificateOrderRequest"); + } + if (reissueCertificateOrderRequest != null) + { + reissueCertificateOrderRequest.Validate(); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2015-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("reissueCertificateOrderRequest", reissueCertificateOrderRequest); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Reissue", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(reissueCertificateOrderRequest != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(reissueCertificateOrderRequest, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync( - resourceGroupName, name, certificateDistinguishedName, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; } /// - /// Create or update a certificate purchase order + /// Renew an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Renew an existing certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate name /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Renew parameters /// /// /// Headers that will be added to request. @@ -1601,32 +1883,56 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task RenewWithHttpMessagesAsync(string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (certificateDistinguishedName == null) + if (renewCertificateOrderRequest == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "certificateDistinguishedName"); + throw new ValidationException(ValidationRules.CannotBeNull, "renewCertificateOrderRequest"); } - if (certificateDistinguishedName != null) + if (renewCertificateOrderRequest != null) { - certificateDistinguishedName.Validate(); + renewCertificateOrderRequest.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1636,43 +1942,43 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("certificateDistinguishedName", certificateDistinguishedName); + tracingParameters.Add("renewCertificateOrderRequest", renewCertificateOrderRequest); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Renew", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1688,17 +1994,17 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(certificateDistinguishedName != null) + if(renewCertificateOrderRequest != null) { - _requestContent = SafeJsonConvert.SerializeObject(certificateDistinguishedName, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(renewCertificateOrderRequest, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1706,7 +2012,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1714,22 +2020,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1749,30 +2047,193 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) + if (_shouldTrace) { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Resend certificate email. + /// + /// + /// Resend certificate email. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Certificate order name + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task ResendEmailWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); } - catch (JsonException ex) + if (resourceGroupName.Length < 1) { - _httpRequest.Dispose(); - if (_httpResponse != null) + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2015-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ResendEmail", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) { - _httpResponse.Dispose(); + _httpRequest.Headers.Remove(_header.Key); } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } if (_shouldTrace) { @@ -1782,14 +2243,19 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Delete an existing certificate order + /// Verify domain ownership for this certificate order. /// - /// Delete an existing certificate order + /// + /// Verify domain ownership for this certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Certificate order name + /// + /// + /// Email address /// /// /// Headers that will be added to request. @@ -1797,24 +2263,52 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteCertificateOrderWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task ResendRequestEmailsWithHttpMessagesAsync(string resourceGroupName, string name, NameIdentifier nameIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (nameIdentifier == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nameIdentifier"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1824,42 +2318,43 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("nameIdentifier", nameIdentifier); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteCertificateOrder", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ResendRequestEmails", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendRequestEmails").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1875,11 +2370,17 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(nameIdentifier != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(nameIdentifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1887,7 +2388,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1895,22 +2396,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1930,31 +2423,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1963,17 +2438,16 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Reissue an existing certificate order + /// Retrieve the list of certificate actions. /// - /// Reissue an existing certificate order + /// + /// Retrieve the list of certificate actions. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name - /// - /// - /// Reissue parameters + /// Certificate order name /// /// /// Headers that will be added to request. @@ -1981,32 +2455,51 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ReissueWithHttpMessagesAsync(string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> RetrieveCertificateActionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reissueCertificateOrderRequest == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "reissueCertificateOrderRequest"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (reissueCertificateOrderRequest != null) + if (name == null) { - reissueCertificateOrderRequest.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2016,43 +2509,42 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("reissueCertificateOrderRequest", reissueCertificateOrderRequest); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Reissue", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "RetrieveCertificateActions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2068,17 +2560,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(reissueCertificateOrderRequest != null) - { - _requestContent = SafeJsonConvert.SerializeObject(reissueCertificateOrderRequest, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2086,7 +2572,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2100,14 +2586,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2129,7 +2615,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2142,9 +2628,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2162,17 +2648,16 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Renew an existing certificate order + /// Retrieve email history. /// - /// Renew an existing certificate order + /// + /// Retrieve email history. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name - /// - /// - /// Renew parameters + /// Certificate order name /// /// /// Headers that will be added to request. @@ -2180,32 +2665,51 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> RenewWithHttpMessagesAsync(string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> RetrieveCertificateEmailHistoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (renewCertificateOrderRequest == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "renewCertificateOrderRequest"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (renewCertificateOrderRequest != null) + if (name == null) { - renewCertificateOrderRequest.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2215,43 +2719,42 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("renewCertificateOrderRequest", renewCertificateOrderRequest); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Renew", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "RetrieveCertificateEmailHistory", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2267,17 +2770,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(renewCertificateOrderRequest != null) - { - _requestContent = SafeJsonConvert.SerializeObject(renewCertificateOrderRequest, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2285,7 +2782,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2299,14 +2796,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2328,7 +2825,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2341,9 +2838,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2361,39 +2858,75 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Resend certificate email + /// Verify domain ownership for this certificate order. /// - /// Resend certificate email + /// + /// Verify domain ownership for this certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name /// + /// + /// Site seal request + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ResendCertificateEmailWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> RetrieveSiteSealWithHttpMessagesAsync(string resourceGroupName, string name, SiteSealRequest siteSealRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (siteSealRequest == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteSealRequest"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2403,42 +2936,43 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("siteSealRequest", siteSealRequest); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ResendCertificateEmail", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "RetrieveSiteSeal", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveSiteSeal").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2454,11 +2988,17 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(siteSealRequest != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteSealRequest, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2466,7 +3006,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2480,14 +3020,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2509,7 +3049,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2522,9 +3062,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2542,11 +3082,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Retrieve the list of certificate actions + /// Verify domain ownership for this certificate order. /// - /// Retrieve the list of certificate actions + /// + /// Verify domain ownership for this certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name @@ -2557,24 +3099,48 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> RetrieveCertificateActionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task VerifyDomainOwnershipWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2586,40 +3152,40 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "RetrieveCertificateActions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "VerifyDomainOwnership", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2636,10 +3202,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2647,7 +3213,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2655,22 +3221,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -2690,31 +3248,13 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -2723,14 +3263,22 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Retrive email history + /// Creates or updates a certificate and associates with key vault secret. /// - /// Retrive email history + /// + /// Creates or updates a certificate and associates with key vault secret. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate order. /// /// - /// Certificate order name + /// Name of the certificate. + /// + /// + /// Key vault certificate resource Id. /// /// /// Headers that will be added to request. @@ -2738,24 +3286,63 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> RetrieveCertificateEmailHistoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (certificateOrderName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "certificateOrderName"); + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (keyVaultCertificate == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "keyVaultCertificate"); + } + if (keyVaultCertificate != null) + { + keyVaultCertificate.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2764,43 +3351,46 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("certificateOrderName", certificateOrderName); tracingParameters.Add("name", name); + tracingParameters.Add("keyVaultCertificate", keyVaultCertificate); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "RetrieveCertificateEmailHistory", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateCertificate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{certificateOrderName}", System.Uri.EscapeDataString(certificateOrderName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2816,11 +3406,17 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(keyVaultCertificate != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(keyVaultCertificate, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2828,7 +3424,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2836,20 +3432,20 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 201) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2871,7 +3467,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2884,9 +3480,27 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 201) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2904,14 +3518,19 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Verify domain ownership for this certificate order + /// Create or update a certificate purchase order. /// - /// Verify domain ownership for this certificate order + /// + /// Create or update a certificate purchase order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate order name + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. /// /// /// Headers that will be added to request. @@ -2919,24 +3538,59 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> VerifyDomainOwnershipWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (certificateDistinguishedName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "certificateDistinguishedName"); + } + if (certificateDistinguishedName != null) + { + certificateDistinguishedName.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2946,42 +3600,43 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("certificateDistinguishedName", certificateDistinguishedName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "VerifyDomainOwnership", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2997,11 +3652,17 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(certificateDistinguishedName != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(certificateDistinguishedName, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3009,7 +3670,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3017,20 +3678,20 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 201) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3052,7 +3713,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3065,9 +3726,27 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 201) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3085,9 +3764,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Lists all domains in a subscription + /// List all certificate orders in a subscription. /// - /// Lists all domains in a subscription + /// + /// List all certificate orders in a subscription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -3097,6 +3778,18 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -3123,25 +3816,25 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3158,10 +3851,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3169,7 +3862,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3183,14 +3876,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3225,9 +3918,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3245,9 +3938,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -3257,6 +3952,18 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -3283,25 +3990,25 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3318,10 +4025,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3329,7 +4036,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3343,14 +4050,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3385,9 +4092,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3405,11 +4112,11 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -3419,6 +4126,18 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -3445,25 +4164,25 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3480,10 +4199,10 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3491,7 +4210,7 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3505,14 +4224,14 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3547,9 +4266,9 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3568,3 +4287,4 @@ internal AppServiceCertificateOrdersOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperationsExtensions.cs index 4a3ef9c49b7f..b59eb90305cc 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceCertificateOrdersOperationsExtensions.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Collections; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for AppServiceCertificateOrdersOperations. @@ -23,21 +24,25 @@ namespace Microsoft.Azure.Management.WebSites public static partial class AppServiceCertificateOrdersOperationsExtensions { /// - /// Lists all domains in a subscription + /// List all certificate orders in a subscription. /// - /// Lists all domains in a subscription + /// + /// List all certificate orders in a subscription. + /// /// /// The operations group for this extension method. /// public static IPage List(this IAppServiceCertificateOrdersOperations operations) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ListAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync().GetAwaiter().GetResult(); } /// - /// Lists all domains in a subscription + /// List all certificate orders in a subscription. /// - /// Lists all domains in a subscription + /// + /// List all certificate orders in a subscription. + /// /// /// The operations group for this extension method. /// @@ -53,65 +58,70 @@ public static IPage List(this IAppServiceCertificate } /// - /// Validate certificate purchase information + /// Validate information for a certificate order. /// - /// Validate certificate purchase information + /// + /// Validate information for a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Certificate order + /// Information for a certificate order. /// - public static object ValidatePurchaseInformation(this IAppServiceCertificateOrdersOperations operations, AppServiceCertificateOrder appServiceCertificateOrder) + public static void ValidatePurchaseInformation(this IAppServiceCertificateOrdersOperations operations, AppServiceCertificateOrder appServiceCertificateOrder) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ValidatePurchaseInformationAsync(appServiceCertificateOrder), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ValidatePurchaseInformationAsync(appServiceCertificateOrder).GetAwaiter().GetResult(); } /// - /// Validate certificate purchase information + /// Validate information for a certificate order. /// - /// Validate certificate purchase information + /// + /// Validate information for a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Certificate order + /// Information for a certificate order. /// /// /// The cancellation token. /// - public static async Task ValidatePurchaseInformationAsync(this IAppServiceCertificateOrdersOperations operations, AppServiceCertificateOrder appServiceCertificateOrder, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ValidatePurchaseInformationAsync(this IAppServiceCertificateOrdersOperations operations, AppServiceCertificateOrder appServiceCertificateOrder, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ValidatePurchaseInformationWithHttpMessagesAsync(appServiceCertificateOrder, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ValidatePurchaseInformationWithHttpMessagesAsync(appServiceCertificateOrder, null, cancellationToken).ConfigureAwait(false); } /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// public static IPage ListByResourceGroup(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ListByResourceGroupAsync(resourceGroupName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupAsync(resourceGroupName).GetAwaiter().GetResult(); } /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The cancellation token. @@ -125,39 +135,39 @@ public static IPage ListByResourceGroup(this IAppSer } /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// public static IPage ListCertificates(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ListCertificatesAsync(resourceGroupName, certificateOrderName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListCertificatesAsync(resourceGroupName, certificateOrderName).GetAwaiter().GetResult(); } /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// /// The cancellation token. @@ -171,41 +181,45 @@ public static IPage ListCertificates(this IAppServiceCert } /// - /// Get certificate associated with the certificate order + /// Get the certificate associated with a certificate order. /// - /// Get certificate associated with the certificate order + /// + /// Get the certificate associated with a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// public static AppServiceCertificate GetCertificate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).GetCertificateAsync(resourceGroupName, certificateOrderName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetCertificateAsync(resourceGroupName, certificateOrderName, name).GetAwaiter().GetResult(); } /// - /// Get certificate associated with the certificate order + /// Get the certificate associated with a certificate order. /// - /// Get certificate associated with the certificate order + /// + /// Get the certificate associated with a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// /// /// The cancellation token. @@ -219,51 +233,51 @@ public static AppServiceCertificate GetCertificate(this IAppServiceCertificateOr } /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// Creates or updates a certificate and associates with key vault secret. /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// + /// Creates or updates a certificate and associates with key vault secret. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// /// - /// Key Vault secret csm Id + /// Key vault certificate resource Id. /// public static AppServiceCertificate CreateOrUpdateCertificate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).CreateOrUpdateCertificateAsync(resourceGroupName, certificateOrderName, name, keyVaultCertificate), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateCertificateAsync(resourceGroupName, certificateOrderName, name, keyVaultCertificate).GetAwaiter().GetResult(); } /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// Creates or updates a certificate and associates with key vault secret. /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// + /// Creates or updates a certificate and associates with key vault secret. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// /// - /// Key Vault secret csm Id + /// Key vault certificate resource Id. /// /// /// The cancellation token. @@ -277,414 +291,462 @@ public static AppServiceCertificate CreateOrUpdateCertificate(this IAppServiceCe } /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// Delete the certificate associated with a certificate order. /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// + /// Delete the certificate associated with a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name - /// - /// - /// Key Vault secret csm Id + /// Name of the certificate. /// - public static AppServiceCertificate BeginCreateOrUpdateCertificate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate) + public static void DeleteCertificate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).BeginCreateOrUpdateCertificateAsync(resourceGroupName, certificateOrderName, name, keyVaultCertificate), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteCertificateAsync(resourceGroupName, certificateOrderName, name).GetAwaiter().GetResult(); } /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// Delete the certificate associated with a certificate order. /// - /// Associates a Key Vault secret to a certificate store that will be used for - /// storing the certificate once it's ready + /// + /// Delete the certificate associated with a certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// - /// - /// Key Vault secret csm Id + /// + /// The cancellation token. + /// + public static async Task DeleteCertificateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.DeleteCertificateWithHttpMessagesAsync(resourceGroupName, certificateOrderName, name, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get a certificate order. + /// + /// + /// Get a certificate order. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate. + /// + public static AppServiceCertificateOrder Get(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) + { + return operations.GetAsync(resourceGroupName, name).GetAwaiter().GetResult(); + } + + /// + /// Get a certificate order. + /// + /// + /// Get a certificate order. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate. /// /// /// The cancellation token. /// - public static async Task BeginCreateOrUpdateCertificateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginCreateOrUpdateCertificateWithHttpMessagesAsync(resourceGroupName, certificateOrderName, name, keyVaultCertificate, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Deletes the certificate associated with the certificate order + /// Create or update a certificate purchase order. /// - /// Deletes the certificate associated with the certificate order + /// + /// Create or update a certificate purchase order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name - /// - /// - /// Certificate name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. /// - public static object DeleteCertificate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name) + public static AppServiceCertificateOrder CreateOrUpdate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).DeleteCertificateAsync(resourceGroupName, certificateOrderName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateAsync(resourceGroupName, name, certificateDistinguishedName).GetAwaiter().GetResult(); } /// - /// Deletes the certificate associated with the certificate order + /// Create or update a certificate purchase order. /// - /// Deletes the certificate associated with the certificate order + /// + /// Create or update a certificate purchase order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name - /// - /// - /// Certificate name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. /// /// /// The cancellation token. /// - public static async Task DeleteCertificateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteCertificateWithHttpMessagesAsync(resourceGroupName, certificateOrderName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, certificateDistinguishedName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get a certificate order + /// Delete an existing certificate order. /// - /// Get a certificate order + /// + /// Delete an existing certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// - public static AppServiceCertificateOrder Get(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) + public static void DeleteCertificateOrder(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).GetAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteCertificateOrderAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get a certificate order + /// Delete an existing certificate order. /// - /// Get a certificate order + /// + /// Delete an existing certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// /// /// The cancellation token. /// - public static async Task GetAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteCertificateOrderAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteCertificateOrderWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Create or update a certificate purchase order + /// Reissue an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Reissue an existing certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Parameters for the reissue. /// - public static AppServiceCertificateOrder CreateOrUpdate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName) + public static void Reissue(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).CreateOrUpdateAsync(resourceGroupName, name, certificateDistinguishedName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ReissueAsync(resourceGroupName, name, reissueCertificateOrderRequest).GetAwaiter().GetResult(); } /// - /// Create or update a certificate purchase order + /// Reissue an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Reissue an existing certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Parameters for the reissue. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ReissueAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, certificateDistinguishedName, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ReissueWithHttpMessagesAsync(resourceGroupName, name, reissueCertificateOrderRequest, null, cancellationToken).ConfigureAwait(false); } /// - /// Create or update a certificate purchase order + /// Renew an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Renew an existing certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate name /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Renew parameters /// - public static AppServiceCertificateOrder BeginCreateOrUpdate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName) + public static void Renew(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).BeginCreateOrUpdateAsync(resourceGroupName, name, certificateDistinguishedName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RenewAsync(resourceGroupName, name, renewCertificateOrderRequest).GetAwaiter().GetResult(); } /// - /// Create or update a certificate purchase order + /// Renew an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Renew an existing certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate name /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Renew parameters /// /// /// The cancellation token. /// - public static async Task BeginCreateOrUpdateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RenewAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, certificateDistinguishedName, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.RenewWithHttpMessagesAsync(resourceGroupName, name, renewCertificateOrderRequest, null, cancellationToken).ConfigureAwait(false); } /// - /// Delete an existing certificate order + /// Resend certificate email. /// - /// Delete an existing certificate order + /// + /// Resend certificate email. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Certificate order name /// - public static object DeleteCertificateOrder(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) + public static void ResendEmail(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).DeleteCertificateOrderAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ResendEmailAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Delete an existing certificate order + /// Resend certificate email. /// - /// Delete an existing certificate order + /// + /// Resend certificate email. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Certificate order name /// /// /// The cancellation token. /// - public static async Task DeleteCertificateOrderAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ResendEmailAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteCertificateOrderWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ResendEmailWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Reissue an existing certificate order + /// Verify domain ownership for this certificate order. /// - /// Reissue an existing certificate order + /// + /// Verify domain ownership for this certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Certificate order name /// - /// - /// Reissue parameters + /// + /// Email address /// - public static object Reissue(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest) + public static void ResendRequestEmails(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, NameIdentifier nameIdentifier) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ReissueAsync(resourceGroupName, name, reissueCertificateOrderRequest), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ResendRequestEmailsAsync(resourceGroupName, name, nameIdentifier).GetAwaiter().GetResult(); } /// - /// Reissue an existing certificate order + /// Verify domain ownership for this certificate order. /// - /// Reissue an existing certificate order + /// + /// Verify domain ownership for this certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Certificate order name /// - /// - /// Reissue parameters + /// + /// Email address /// /// /// The cancellation token. /// - public static async Task ReissueAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ResendRequestEmailsAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, NameIdentifier nameIdentifier, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ReissueWithHttpMessagesAsync(resourceGroupName, name, reissueCertificateOrderRequest, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ResendRequestEmailsWithHttpMessagesAsync(resourceGroupName, name, nameIdentifier, null, cancellationToken).ConfigureAwait(false); } /// - /// Renew an existing certificate order + /// Retrieve the list of certificate actions. /// - /// Renew an existing certificate order + /// + /// Retrieve the list of certificate actions. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name - /// - /// - /// Renew parameters + /// Certificate order name /// - public static object Renew(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest) + public static IList RetrieveCertificateActions(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).RenewAsync(resourceGroupName, name, renewCertificateOrderRequest), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.RetrieveCertificateActionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Renew an existing certificate order + /// Retrieve the list of certificate actions. /// - /// Renew an existing certificate order + /// + /// Retrieve the list of certificate actions. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name - /// - /// - /// Renew parameters + /// Certificate order name /// /// /// The cancellation token. /// - public static async Task RenewAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> RetrieveCertificateActionsAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RenewWithHttpMessagesAsync(resourceGroupName, name, renewCertificateOrderRequest, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.RetrieveCertificateActionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Resend certificate email + /// Retrieve email history. /// - /// Resend certificate email + /// + /// Retrieve email history. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name /// - public static object ResendCertificateEmail(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) + public static IList RetrieveCertificateEmailHistory(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ResendCertificateEmailAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.RetrieveCertificateEmailHistoryAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Resend certificate email + /// Retrieve email history. /// - /// Resend certificate email + /// + /// Retrieve email history. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name @@ -692,83 +754,97 @@ public static object ResendCertificateEmail(this IAppServiceCertificateOrdersOpe /// /// The cancellation token. /// - public static async Task ResendCertificateEmailAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> RetrieveCertificateEmailHistoryAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ResendCertificateEmailWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.RetrieveCertificateEmailHistoryWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieve the list of certificate actions + /// Verify domain ownership for this certificate order. /// - /// Retrieve the list of certificate actions + /// + /// Verify domain ownership for this certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name /// - public static IList RetrieveCertificateActions(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) + /// + /// Site seal request + /// + public static SiteSeal RetrieveSiteSeal(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, SiteSealRequest siteSealRequest) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).RetrieveCertificateActionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.RetrieveSiteSealAsync(resourceGroupName, name, siteSealRequest).GetAwaiter().GetResult(); } /// - /// Retrieve the list of certificate actions + /// Verify domain ownership for this certificate order. /// - /// Retrieve the list of certificate actions + /// + /// Verify domain ownership for this certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name /// + /// + /// Site seal request + /// /// /// The cancellation token. /// - public static async Task> RetrieveCertificateActionsAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RetrieveSiteSealAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, SiteSealRequest siteSealRequest, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RetrieveCertificateActionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.RetrieveSiteSealWithHttpMessagesAsync(resourceGroupName, name, siteSealRequest, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrive email history + /// Verify domain ownership for this certificate order. /// - /// Retrive email history + /// + /// Verify domain ownership for this certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name /// - public static IList RetrieveCertificateEmailHistory(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) + public static void VerifyDomainOwnership(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).RetrieveCertificateEmailHistoryAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.VerifyDomainOwnershipAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Retrive email history + /// Verify domain ownership for this certificate order. /// - /// Retrive email history + /// + /// Verify domain ownership for this certificate order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name @@ -776,60 +852,127 @@ public static IList RetrieveCertificateEmailHistory(this IAppS /// /// The cancellation token. /// - public static async Task> RetrieveCertificateEmailHistoryAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task VerifyDomainOwnershipAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RetrieveCertificateEmailHistoryWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + await operations.VerifyDomainOwnershipWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Creates or updates a certificate and associates with key vault secret. + /// + /// + /// Creates or updates a certificate and associates with key vault secret. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate order. + /// + /// + /// Name of the certificate. + /// + /// + /// Key vault certificate resource Id. + /// + public static AppServiceCertificate BeginCreateOrUpdateCertificate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate) + { + return operations.BeginCreateOrUpdateCertificateAsync(resourceGroupName, certificateOrderName, name, keyVaultCertificate).GetAwaiter().GetResult(); + } + + /// + /// Creates or updates a certificate and associates with key vault secret. + /// + /// + /// Creates or updates a certificate and associates with key vault secret. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate order. + /// + /// + /// Name of the certificate. + /// + /// + /// Key vault certificate resource Id. + /// + /// + /// The cancellation token. + /// + public static async Task BeginCreateOrUpdateCertificateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginCreateOrUpdateCertificateWithHttpMessagesAsync(resourceGroupName, certificateOrderName, name, keyVaultCertificate, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Verify domain ownership for this certificate order + /// Create or update a certificate purchase order. /// - /// Verify domain ownership for this certificate order + /// + /// Create or update a certificate purchase order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate order name + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. /// - public static object VerifyDomainOwnership(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name) + public static AppServiceCertificateOrder BeginCreateOrUpdate(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).VerifyDomainOwnershipAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginCreateOrUpdateAsync(resourceGroupName, name, certificateDistinguishedName).GetAwaiter().GetResult(); } /// - /// Verify domain ownership for this certificate order + /// Create or update a certificate purchase order. /// - /// Verify domain ownership for this certificate order + /// + /// Create or update a certificate purchase order. + /// /// /// The operations group for this extension method. /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate order name + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. /// /// /// The cancellation token. /// - public static async Task VerifyDomainOwnershipAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginCreateOrUpdateAsync(this IAppServiceCertificateOrdersOperations operations, string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.VerifyDomainOwnershipWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, certificateDistinguishedName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Lists all domains in a subscription + /// List all certificate orders in a subscription. /// - /// Lists all domains in a subscription + /// + /// List all certificate orders in a subscription. + /// /// /// The operations group for this extension method. /// @@ -838,13 +981,15 @@ public static object VerifyDomainOwnership(this IAppServiceCertificateOrdersOper /// public static IPage ListNext(this IAppServiceCertificateOrdersOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ListNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists all domains in a subscription + /// List all certificate orders in a subscription. /// - /// Lists all domains in a subscription + /// + /// List all certificate orders in a subscription. + /// /// /// The operations group for this extension method. /// @@ -863,9 +1008,11 @@ public static IPage ListNext(this IAppServiceCertifi } /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// /// The operations group for this extension method. /// @@ -874,13 +1021,15 @@ public static IPage ListNext(this IAppServiceCertifi /// public static IPage ListByResourceGroupNext(this IAppServiceCertificateOrdersOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ListByResourceGroupNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// /// The operations group for this extension method. /// @@ -899,11 +1048,11 @@ public static IPage ListByResourceGroupNext(this IAp } /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// /// The operations group for this extension method. /// @@ -912,15 +1061,15 @@ public static IPage ListByResourceGroupNext(this IAp /// public static IPage ListCertificatesNext(this IAppServiceCertificateOrdersOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceCertificateOrdersOperations)s).ListCertificatesNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListCertificatesNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only one - /// certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// /// The operations group for this extension method. /// @@ -940,3 +1089,4 @@ public static IPage ListCertificatesNext(this IAppService } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperations.cs index af8d682475d1..f4b87bc8b3a8 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperations.cs @@ -1,28 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// AppServiceEnvironmentsOperations operations. @@ -35,13 +33,16 @@ internal partial class AppServiceEnvironmentsOperations : IServiceOperations /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,21 +51,35 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// Get all App Service Environments for a subscription. /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// + /// Get all App Service Environments for a subscription. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -81,35 +96,35 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -126,10 +141,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -137,7 +152,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -151,14 +166,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -193,9 +208,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -213,11 +228,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// Get all App Service Environments in a resource group. /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// + /// Get all App Service Environments in a resource group. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Headers that will be added to request. @@ -225,6 +242,18 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -234,7 +263,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -252,36 +296,36 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -298,10 +342,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -309,7 +353,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -323,14 +367,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -365,9 +409,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -385,14 +429,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// Get the properties of an App Service Environment. /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// + /// Get the properties of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -400,6 +446,18 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -409,11 +467,26 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -432,37 +505,37 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -479,10 +552,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -490,7 +563,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -504,14 +577,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -546,9 +619,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -566,17 +639,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// Create or update an App Service Environment. /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// + /// Create or update an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Properties of AppServiceEnvironment (App Service Environment) + /// Configuration details of the App Service Environment. /// /// /// The headers that will be added to request. @@ -587,25 +662,53 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync( - resourceGroupName, name, hostingEnvironmentEnvelope, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); + AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, hostingEnvironmentEnvelope, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); } /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// Delete an App Service Environment. /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// + /// Delete an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Properties of AppServiceEnvironment (App Service Environment) + /// + /// Specify <code>true</code> to force the deletion even if the App + /// Service Environment contains resources. The default is + /// <code>false</code>. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginDeleteWithHttpMessagesAsync(resourceGroupName, name, forceDelete, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -613,28 +716,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListCapacitiesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (hostingEnvironmentEnvelope == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "hostingEnvironmentEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (hostingEnvironmentEnvelope != null) + if (name == null) { - hostingEnvironmentEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -648,43 +770,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("hostingEnvironmentEnvelope", hostingEnvironmentEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListCapacities", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -700,17 +821,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(hostingEnvironmentEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(hostingEnvironmentEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -718,7 +833,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -726,20 +841,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -761,7 +876,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -774,27 +889,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -812,46 +909,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginDeleteWithHttpMessagesAsync( - resourceGroupName, name, forceDelete, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// Get IP addresses assigned to an App Service Environment. /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// + /// Get IP addresses assigned to an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -859,20 +926,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginDeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListVipsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -886,47 +980,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("forceDelete", forceDelete); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginDelete", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListVips", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (forceDelete != null) - { - _queryParameters.Add(string.Format("forceDelete={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(forceDelete, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -943,10 +1032,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -954,7 +1043,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -962,20 +1051,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -997,7 +1086,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1010,27 +1099,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1048,16 +1119,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// Get diagnostic information for an App Service Environment. /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// + /// Get diagnostic information for an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -1065,20 +1136,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListCapacitiesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDiagnosticsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1094,40 +1192,40 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListCapacities", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDiagnostics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1144,10 +1242,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1155,7 +1253,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1169,14 +1267,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1198,7 +1296,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1211,9 +1309,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1231,16 +1329,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get IP addresses assigned to the AppServiceEnvironment (App Service - /// Environment). + /// Get a diagnostics item for an App Service Environment. /// - /// Get IP addresses assigned to the AppServiceEnvironment (App Service - /// Environment). + /// + /// Get a diagnostics item for an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Name of the diagnostics item. /// /// /// Headers that will be added to request. @@ -1248,20 +1349,51 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListVipsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetDiagnosticsItemWithHttpMessagesAsync(string resourceGroupName, string name, string diagnosticsName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (diagnosticsName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "diagnosticsName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1275,42 +1407,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("diagnosticsName", diagnosticsName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListVips", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetDiagnosticsItem", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{diagnosticsName}", System.Uri.EscapeDataString(diagnosticsName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1327,10 +1461,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1338,7 +1472,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1352,14 +1486,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1381,7 +1515,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1394,9 +1528,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1414,16 +1548,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get global metric definitions of an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get global metric definitions of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -1431,20 +1565,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListDiagnosticsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1460,40 +1621,40 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListDiagnostics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1510,10 +1671,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1521,7 +1682,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1535,14 +1696,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1564,7 +1725,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1577,9 +1738,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1597,19 +1758,26 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get global metrics of an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get global metrics of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Name of the diagnostics + /// + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. + /// + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq + /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -1617,24 +1785,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetDiagnosticsItemWithHttpMessagesAsync(string resourceGroupName, string name, string diagnosticsName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (diagnosticsName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "diagnosticsName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1648,44 +1839,52 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("diagnosticsName", diagnosticsName); + tracingParameters.Add("details", details); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetDiagnosticsItem", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetrics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{diagnosticsName}", Uri.EscapeDataString(diagnosticsName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1702,10 +1901,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1713,7 +1912,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1727,14 +1926,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1756,7 +1955,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1769,9 +1968,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1789,16 +1988,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get global metric definitions of AppServiceEnvironment (App Service - /// Environment). + /// Get all multi-role pools. /// - /// Get global metric definitions of AppServiceEnvironment (App Service - /// Environment). + /// + /// Get all multi-role pools. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -1806,20 +2005,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1835,40 +2061,40 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePools", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1885,10 +2111,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1896,7 +2122,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1910,14 +2136,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1939,7 +2165,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1952,9 +2178,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1972,23 +2198,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// Get properties of a multi-role pool. /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// + /// Get properties of a multi-role pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Include instance details - /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -1996,20 +2215,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2023,52 +2269,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("details", details); - tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetrics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetMultiRolePool", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (details != null) - { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); - } - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2085,10 +2321,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2096,7 +2332,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2110,14 +2346,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2139,7 +2375,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2152,9 +2388,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2172,14 +2408,49 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all multi role pools + /// Create or update a multi-role pool. + /// + /// + /// Create or update a multi-role pool. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Properties of the multi-role pool. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync(resourceGroupName, name, multiRolePoolEnvelope, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. /// - /// Get all multi role pools + /// + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Name of the instance in the multi-role pool. /// /// /// Headers that will be added to request. @@ -2187,20 +2458,51 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRolePoolsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (instance == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2214,42 +2516,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("instance", instance); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePools", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolInstanceMetricDefinitions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{instance}", System.Uri.EscapeDataString(instance)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2266,10 +2570,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2277,7 +2581,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2291,14 +2595,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2320,7 +2624,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2333,9 +2637,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2353,14 +2657,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get properties of a multiRool pool. + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. /// - /// Get properties of a multiRool pool. + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Name of the instance in the multi-role pool. + /// + /// + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Headers that will be added to request. @@ -2368,20 +2683,51 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, bool? details = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (instance == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2395,42 +2741,49 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("instance", instance); + tracingParameters.Add("details", details); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetMultiRolePool", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolInstanceMetrics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{instance}", System.Uri.EscapeDataString(instance)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2447,10 +2800,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2458,7 +2811,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2472,14 +2825,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2501,7 +2854,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2514,9 +2867,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2534,46 +2887,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Create or update a multiRole pool. - /// - /// Create or update a multiRole pool. - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of multiRole pool - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> CreateOrUpdateMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync( - resourceGroupName, name, multiRolePoolEnvelope, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); - } - - /// - /// Create or update a multiRole pool. + /// Get metric definitions for a multi-role pool of an App Service Environment. /// - /// Create or update a multiRole pool. + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of multiRole pool + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -2581,28 +2904,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRoleMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (multiRolePoolEnvelope == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "multiRolePoolEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (multiRolePoolEnvelope != null) + if (name == null) { - multiRolePoolEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2616,43 +2958,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("multiRolePoolEnvelope", multiRolePoolEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateMultiRolePool", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetricDefinitions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2668,17 +3009,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(multiRolePoolEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(multiRolePoolEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2686,7 +3021,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2694,20 +3029,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2729,7 +3064,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2742,27 +3077,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2780,19 +3097,35 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metric definitions for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metrics for a multi-role pool of an App Service Environment. /// - /// Get metric definitions for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Name of instance in the multiRole pool&gt; + /// + /// Beginning time of the metrics query. + /// + /// + /// End time of the metrics query. + /// + /// + /// Time granularity of the metrics query. + /// + /// + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. + /// + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq + /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -2800,24 +3133,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListMultiRolePoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRoleMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string startTime = default(string), string endTime = default(string), string timeGrain = default(string), bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (instance == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2831,44 +3187,67 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("instance", instance); + tracingParameters.Add("startTime", startTime); + tracingParameters.Add("endTime", endTime); + tracingParameters.Add("timeGrain", timeGrain); + tracingParameters.Add("details", details); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolInstanceMetricDefinitions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetrics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{instance}", Uri.EscapeDataString(instance)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (startTime != null) + { + _queryParameters.Add(string.Format("startTime={0}", System.Uri.EscapeDataString(startTime))); + } + if (endTime != null) + { + _queryParameters.Add(string.Format("endTime={0}", System.Uri.EscapeDataString(endTime))); + } + if (timeGrain != null) + { + _queryParameters.Add(string.Format("timeGrain={0}", System.Uri.EscapeDataString(timeGrain))); + } + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2885,10 +3264,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2896,7 +3275,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2910,14 +3289,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2939,7 +3318,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2952,9 +3331,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2972,22 +3351,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get available SKUs for scaling a multi-role pool. /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of instance in the multiRole pool - /// - /// - /// Include instance details + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -2995,24 +3368,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListMultiRolePoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, bool? details = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolSkusWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (instance == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3026,49 +3422,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("instance", instance); - tracingParameters.Add("details", details); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolInstanceMetrics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolSkus", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{instance}", Uri.EscapeDataString(instance)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (details != null) - { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3085,10 +3474,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3096,7 +3485,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3110,14 +3499,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3139,7 +3528,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3152,9 +3541,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3172,16 +3561,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// Get usage metrics for a multi-role pool of an App Service Environment. /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -3189,20 +3578,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRoleMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRoleUsagesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3218,40 +3634,40 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetricDefinitions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleUsages", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3268,10 +3684,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3279,7 +3695,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3293,14 +3709,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3322,7 +3738,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3335,9 +3751,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3355,34 +3771,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// List all currently running operations on the App Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// List all currently running operations on the App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Beginning time of metrics query - /// - /// - /// End time of metrics query - /// - /// - /// Time granularity of metrics query - /// - /// - /// Include instance details - /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -3390,20 +3788,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRoleMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string startTime = default(string), string endTime = default(string), string timeGrain = default(string), bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListOperationsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3417,67 +3842,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("startTime", startTime); - tracingParameters.Add("endTime", endTime); - tracingParameters.Add("timeGrain", timeGrain); - tracingParameters.Add("details", details); - tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetrics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListOperations", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (startTime != null) - { - _queryParameters.Add(string.Format("startTime={0}", Uri.EscapeDataString(startTime))); - } - if (endTime != null) - { - _queryParameters.Add(string.Format("endTime={0}", Uri.EscapeDataString(endTime))); - } - if (timeGrain != null) - { - _queryParameters.Add(string.Format("timeGrain={0}", Uri.EscapeDataString(timeGrain))); - } - if (details != null) - { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); - } - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3494,10 +3894,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3505,7 +3905,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3519,14 +3919,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3548,7 +3948,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3561,9 +3961,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3581,14 +3981,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get available skus for scaling a multiRole pool. + /// Reboot all machines in an App Service Environment. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Reboot all machines in an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -3596,20 +3998,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRolePoolSkusWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task RebootWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3625,40 +4051,40 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolSkus", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Reboot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3675,10 +4101,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3686,7 +4112,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3694,22 +4120,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 202 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -3729,31 +4147,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -3762,16 +4162,41 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Resume an App Service Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Resume an App Service Environment. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task>> ResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse> _response = await BeginResumeWithHttpMessagesAsync(resourceGroupName, name, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get all App Service plans in an App Service Environment. + /// + /// + /// Get all App Service plans in an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -3779,20 +4204,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRoleUsagesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListAppServicePlansWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3808,40 +4260,40 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleUsages", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListAppServicePlans", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3858,10 +4310,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3869,7 +4321,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3883,14 +4335,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3912,7 +4364,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3925,9 +4377,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3945,16 +4397,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// List all currently running operations on the AppServiceEnvironment (App - /// Service Environment) + /// Get all apps in an App Service Environment. /// - /// List all currently running operations on the AppServiceEnvironment (App - /// Service Environment) + /// + /// Get all apps in an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Comma separated list of app properties to include. /// /// /// Headers that will be added to request. @@ -3962,20 +4417,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListOperationsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3989,42 +4471,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("propertiesToInclude", propertiesToInclude); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListOperations", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebApps", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (propertiesToInclude != null) + { + _queryParameters.Add(string.Format("propertiesToInclude={0}", System.Uri.EscapeDataString(propertiesToInclude))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4041,10 +4528,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4052,7 +4539,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4066,14 +4553,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4095,7 +4582,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4108,9 +4595,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4128,19 +4615,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). + /// Suspend an App Service Environment. /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). + /// + /// Suspend an App Service Environment. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task>> SuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse> _response = await BeginSuspendWithHttpMessagesAsync(resourceGroupName, name, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get global usage metrics of an App Service Environment. + /// + /// + /// Get global usage metrics of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// operation identifier GUID + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq + /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -4148,24 +4663,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (operationId == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "operationId"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4179,44 +4717,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("operationId", operationId); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetOperation", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListUsages", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{operationId}", Uri.EscapeDataString(operationId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4233,10 +4774,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4244,7 +4785,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4252,20 +4793,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 404 && (int)_statusCode != 500) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4287,7 +4828,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4300,27 +4841,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4338,14 +4861,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Reboots all machines in a AppServiceEnvironment (App Service Environment). + /// Get all worker pools of an App Service Environment. /// - /// Reboots all machines in a AppServiceEnvironment (App Service Environment). + /// + /// Get all worker pools of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -4353,20 +4878,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> RebootWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4382,40 +4934,40 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Reboot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPools", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4432,10 +4984,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4443,7 +4995,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4451,20 +5003,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 202 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4486,7 +5038,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4494,14 +5046,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } // Deserialize Response - if ((int)_statusCode == 202) + if ((int)_statusCode == 200) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4519,38 +5071,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Resumes the AppServiceEnvironment. + /// Get properties of a worker pool. /// - /// Resumes the AppServiceEnvironment. + /// + /// Get properties of a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task>> ResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse> _response = await BeginResumeWithHttpMessagesAsync( - resourceGroupName, name, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Resumes the AppServiceEnvironment. - /// - /// Resumes the AppServiceEnvironment. - /// - /// Name of resource group + /// Name of the App Service Environment. /// - /// - /// Name of AppServiceEnvironment (App Service Environment) + /// + /// Name of the worker pool. /// /// /// Headers that will be added to request. @@ -4558,20 +5091,51 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> BeginResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (workerPoolName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4585,42 +5149,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("workerPoolName", workerPoolName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginResume", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetWorkerPool", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4637,10 +5203,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4648,7 +5214,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4656,20 +5222,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4691,7 +5257,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4704,27 +5270,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4742,37 +5290,111 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// Create or update a worker pool. /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// + /// Create or update a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// + /// + /// Name of the worker pool. + /// + /// + /// Properties of the worker pool. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync(resourceGroupName, name, workerPoolName, workerPoolEnvelope, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. + /// + /// + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Name of the worker pool. + /// + /// + /// Name of the instance in the worker pool. + /// + /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListAppServicePlansWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (workerPoolName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + } + if (instance == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4786,42 +5408,46 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("workerPoolName", workerPoolName); + tracingParameters.Add("instance", instance); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListAppServicePlans", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolInstanceMetricDefinitions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{instance}", System.Uri.EscapeDataString(instance)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4838,10 +5464,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4849,7 +5475,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4863,14 +5489,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4892,7 +5518,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4905,9 +5531,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4925,17 +5551,34 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Comma separated list of site properties to include + /// + /// Name of the worker pool. + /// + /// + /// Name of the instance in the worker pool. + /// + /// + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. + /// + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq + /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -4943,20 +5586,55 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (workerPoolName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + } + if (instance == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4970,47 +5648,56 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("propertiesToInclude", propertiesToInclude); + tracingParameters.Add("workerPoolName", workerPoolName); + tracingParameters.Add("instance", instance); + tracingParameters.Add("details", details); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebApps", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolInstanceMetrics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{instance}", System.Uri.EscapeDataString(instance)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (propertiesToInclude != null) + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } + if (filter != null) { - _queryParameters.Add(string.Format("propertiesToInclude={0}", Uri.EscapeDataString(propertiesToInclude))); + _queryParameters.Add(string.Format("$filter={0}", filter)); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5027,10 +5714,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5038,7 +5725,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5052,14 +5739,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5081,7 +5768,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5094,9 +5781,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5114,38 +5801,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Suspends the AppServiceEnvironment. + /// Get metric definitions for a worker pool of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get metric definitions for a worker pool of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task>> SuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse> _response = await BeginSuspendWithHttpMessagesAsync( - resourceGroupName, name, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Suspends the AppServiceEnvironment. - /// - /// Suspends the AppServiceEnvironment. - /// - /// Name of resource group + /// Name of the App Service Environment. /// - /// - /// Name of AppServiceEnvironment (App Service Environment) + /// + /// Name of the worker pool. /// /// /// Headers that will be added to request. @@ -5153,20 +5821,51 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> BeginSuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebWorkerMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (workerPoolName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5180,42 +5879,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("workerPoolName", workerPoolName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginSuspend", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetricDefinitions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5232,10 +5933,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5243,7 +5944,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5251,20 +5952,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5286,7 +5987,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5299,27 +6000,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5337,14 +6020,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// Get metrics for a worker pool of a AppServiceEnvironment (App Service + /// Environment). /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a worker pool of a AppServiceEnvironment (App Service + /// Environment). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Name of worker pool + /// + /// + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -5358,20 +6052,51 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebWorkerMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (workerPoolName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5385,47 +6110,54 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("workerPoolName", workerPoolName); + tracingParameters.Add("details", details); tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListUsages", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetrics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } if (filter != null) { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); + _queryParameters.Add(string.Format("$filter={0}", filter)); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5442,10 +6174,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5453,7 +6185,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5467,14 +6199,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5496,7 +6228,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5509,9 +6241,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5529,14 +6261,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all worker pools + /// Get available SKUs for scaling a worker pool. /// - /// Get all worker pools + /// + /// Get available SKUs for scaling a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Name of the worker pool. /// /// /// Headers that will be added to request. @@ -5544,20 +6281,51 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWorkerPoolsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolSkusWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (workerPoolName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5571,42 +6339,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("workerPoolName", workerPoolName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPools", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolSkus", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5623,10 +6393,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5634,7 +6404,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5648,14 +6418,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5677,7 +6447,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5690,9 +6460,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5710,17 +6480,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get properties of a worker pool. + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get properties of a worker pool. + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// /// Headers that will be added to request. @@ -5728,15 +6500,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebWorkerUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -5745,7 +6544,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5762,41 +6561,41 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("workerPoolName", workerPoolName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetWorkerPool", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerUsages", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5813,10 +6612,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5824,7 +6623,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5838,14 +6637,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5867,7 +6666,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5880,9 +6679,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5900,52 +6699,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Create or update a worker pool. - /// - /// Create or update a worker pool. - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool - /// - /// - /// Properties of worker pool - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> CreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync( - resourceGroupName, name, workerPoolName, workerPoolEnvelope, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); - } - - /// - /// Create or update a worker pool. + /// Create or update an App Service Environment. /// - /// Create or update a worker pool. + /// + /// Create or update an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool + /// Name of the App Service Environment. /// - /// - /// Properties of worker pool + /// + /// Configuration details of the App Service Environment. /// /// /// Headers that will be added to request. @@ -5953,32 +6719,55 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (workerPoolName == null) + if (hostingEnvironmentEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); - } - if (workerPoolEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "hostingEnvironmentEnvelope"); } - if (workerPoolEnvelope != null) + if (hostingEnvironmentEnvelope != null) { - workerPoolEnvelope.Validate(); + hostingEnvironmentEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5992,45 +6781,43 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("workerPoolName", workerPoolName); - tracingParameters.Add("workerPoolEnvelope", workerPoolEnvelope); + tracingParameters.Add("hostingEnvironmentEnvelope", hostingEnvironmentEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateWorkerPool", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6046,17 +6833,17 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(workerPoolEnvelope != null) + if(hostingEnvironmentEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(workerPoolEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(hostingEnvironmentEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6064,7 +6851,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6078,14 +6865,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6107,7 +6894,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6120,9 +6907,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6138,9 +6925,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6158,22 +6945,21 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metric definitions for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// Delete an App Service Environment. /// - /// Get metric definitions for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Delete an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool + /// Name of the App Service Environment. /// - /// - /// Name of instance in the worker pool + /// + /// Specify <code>true</code> to force the deletion even if the App + /// Service Environment contains resources. The default is + /// <code>false</code>. /// /// /// Headers that will be added to request. @@ -6181,28 +6967,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListWorkerPoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task BeginDeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (workerPoolName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (instance == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6216,46 +7018,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("workerPoolName", workerPoolName); - tracingParameters.Add("instance", instance); + tracingParameters.Add("forceDelete", forceDelete); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolInstanceMetricDefinitions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginDelete", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{instance}", Uri.EscapeDataString(instance)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (forceDelete != null) + { + _queryParameters.Add(string.Format("forceDelete={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(forceDelete, Client.SerializationSettings).Trim('"')))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6272,10 +7075,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6283,7 +7086,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6291,22 +7094,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 202 && (int)_statusCode != 204 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -6326,31 +7121,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -6359,31 +7136,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// Create or update a multi-role pool. /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Create or update a multi-role pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool - /// - /// - /// Name of instance in the worker pool - /// - /// - /// Include instance details + /// Name of the App Service Environment. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Properties of the multi-role pool. /// /// /// Headers that will be added to request. @@ -6391,28 +7156,55 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListWorkerPoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (workerPoolName == null) + if (multiRolePoolEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + throw new ValidationException(ValidationRules.CannotBeNull, "multiRolePoolEnvelope"); } - if (instance == null) + if (multiRolePoolEnvelope != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instance"); + multiRolePoolEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6426,56 +7218,43 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("workerPoolName", workerPoolName); - tracingParameters.Add("instance", instance); - tracingParameters.Add("details", details); - tracingParameters.Add("filter", filter); + tracingParameters.Add("multiRolePoolEnvelope", multiRolePoolEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolInstanceMetrics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateMultiRolePool", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{instance}", Uri.EscapeDataString(instance)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (details != null) - { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); - } - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6491,11 +7270,17 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(multiRolePoolEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(multiRolePoolEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6503,7 +7288,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6511,20 +7296,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6546,7 +7331,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6559,9 +7344,27 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6579,19 +7382,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Resume an App Service Environment. /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Resume an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -6599,24 +7399,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebWorkerMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> BeginResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (workerPoolName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6630,44 +7453,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("workerPoolName", workerPoolName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetricDefinitions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginResume", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6684,10 +7505,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6695,7 +7516,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6703,20 +7524,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6738,7 +7559,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6751,9 +7572,27 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6771,28 +7610,16 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metrics for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Suspend an App Service Environment. /// - /// Get metrics for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Suspend an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool - /// - /// - /// Include instance details - /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// Name of the App Service Environment. /// /// /// Headers that will be added to request. @@ -6800,24 +7627,47 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebWorkerMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> BeginSuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (workerPoolName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6831,54 +7681,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("workerPoolName", workerPoolName); - tracingParameters.Add("details", details); - tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetrics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginSuspend", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (details != null) - { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); - } - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6895,10 +7733,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6906,7 +7744,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6914,20 +7752,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6949,7 +7787,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6962,9 +7800,27 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6982,17 +7838,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get available skus for scaling a worker pool. + /// Create or update a worker pool. /// - /// Get available skus for scaling a worker pool. + /// + /// Create or update a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. + /// + /// + /// Properties of the worker pool. /// /// /// Headers that will be added to request. @@ -7000,15 +7861,42 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWorkerPoolSkusWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -7017,11 +7905,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); } - if (this.Client.SubscriptionId == null) + if (workerPoolEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolEnvelope"); } - string apiVersion = "2016-09-01"; + if (workerPoolEnvelope != null) + { + workerPoolEnvelope.Validate(); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-09-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -7032,43 +7928,44 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("workerPoolName", workerPoolName); + tracingParameters.Add("workerPoolEnvelope", workerPoolEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolSkus", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateWorkerPool", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerPoolName}", System.Uri.EscapeDataString(workerPoolName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7084,11 +7981,17 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(workerPoolEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(workerPoolEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7096,7 +7999,199 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 400 && (int)_statusCode != 404 && (int)_statusCode != 409) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get all App Service Environments for a subscription. + /// + /// + /// Get all App Service Environments for a subscription. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7110,14 +8205,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7139,7 +8234,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -7152,9 +8247,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7172,19 +8267,363 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get all App Service Environments in a resource group. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). - /// - /// Name of resource group + /// + /// Get all App Service Environments in a resource group. + /// + /// + /// The NextLink from the previous successful call to List operation. /// - /// - /// Name of AppServiceEnvironment (App Service Environment) + /// + /// Headers that will be added to request. /// - /// - /// Name of worker pool + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroupNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListCapacitiesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListCapacitiesNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get global metrics of an App Service Environment. + /// + /// + /// Get global metrics of an App Service Environment. + /// + /// + /// The NextLink from the previous successful call to List operation. /// /// /// Headers that will be added to request. @@ -7192,28 +8631,27 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebWorkerUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (workerPoolName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "workerPoolName"); - } - if (this.Client.SubscriptionId == null) + if (nextPageLink == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); } - string apiVersion = "2016-09-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -7221,46 +8659,35 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("workerPoolName", workerPoolName); - tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerUsages", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricsNext", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerPoolName}", Uri.EscapeDataString(workerPoolName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7277,10 +8704,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7288,7 +8715,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7302,14 +8729,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7331,7 +8758,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -7344,9 +8771,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7364,9 +8791,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// Get all multi-role pools. /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// + /// Get all multi-role pools. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -7376,10 +8805,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -7394,7 +8835,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -7402,25 +8843,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7437,10 +8878,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7448,7 +8889,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7462,14 +8903,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7491,7 +8932,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -7504,9 +8945,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7524,9 +8965,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -7536,10 +8981,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolInstanceMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -7554,7 +9011,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroupNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolInstanceMetricDefinitionsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -7562,25 +9019,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7597,10 +9054,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7608,7 +9065,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7622,14 +9079,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7651,7 +9108,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -7664,9 +9121,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7684,11 +9141,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -7698,10 +9157,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListCapacitiesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolInstanceMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -7716,7 +9187,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListCapacitiesNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolInstanceMetricsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -7724,25 +9195,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7759,10 +9230,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7770,7 +9241,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7784,14 +9255,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7813,7 +9284,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -7826,9 +9297,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7846,9 +9317,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a multi-role pool of an App Service Environment. /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -7858,10 +9331,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRoleMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -7876,7 +9361,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetricDefinitionsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -7884,25 +9369,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7919,10 +9404,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7930,7 +9415,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7944,14 +9429,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7973,7 +9458,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -7986,9 +9471,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8006,9 +9491,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all multi role pools + /// Get metrics for a multi-role pool of an App Service Environment. /// - /// Get all multi role pools + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -8018,10 +9505,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRolePoolsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRoleMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -8036,7 +9535,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetricsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -8044,25 +9543,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8079,10 +9578,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8090,7 +9589,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8104,14 +9603,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8133,7 +9632,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8146,9 +9645,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8166,11 +9665,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// Get available SKUs for scaling a multi-role pool. /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -8180,10 +9679,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRoleMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRolePoolSkusNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -8198,7 +9709,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetricDefinitionsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolSkusNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -8206,25 +9717,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8241,10 +9752,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8252,7 +9763,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8266,14 +9777,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8295,7 +9806,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8308,9 +9819,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8328,11 +9839,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a multi-role pool of an App Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -8342,10 +9853,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRoleMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMultiRoleUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -8360,7 +9883,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleMetricsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleUsagesNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -8368,25 +9891,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8403,10 +9926,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8414,7 +9937,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8428,14 +9951,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8457,7 +9980,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8470,9 +9993,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8490,9 +10013,33 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get available skus for scaling a multiRole pool. + /// Resume an App Service Environment. + /// + /// + /// Resume an App Service Environment. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task>> ResumeNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse> _response = await BeginResumeNextWithHttpMessagesAsync(nextPageLink, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get all App Service plans in an App Service Environment. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Get all App Service plans in an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -8502,10 +10049,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRolePoolSkusNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListAppServicePlansNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -8520,7 +10079,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRolePoolSkusNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListAppServicePlansNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -8528,25 +10087,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8563,10 +10122,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8574,7 +10133,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8588,14 +10147,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8617,7 +10176,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8630,9 +10189,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8650,11 +10209,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get all apps in an App Service Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get all apps in an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -8664,10 +10223,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMultiRoleUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebAppsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -8682,7 +10253,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMultiRoleUsagesNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebAppsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -8690,25 +10261,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8725,10 +10296,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8736,7 +10307,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8750,14 +10321,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8779,7 +10350,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8792,9 +10363,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8812,9 +10383,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Resumes the AppServiceEnvironment. + /// Suspend an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Suspend an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -8824,18 +10397,19 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// - public async Task>> ResumeNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> SuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { // Send request - AzureOperationResponse> _response = await BeginResumeNextWithHttpMessagesAsync( - nextPageLink, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); + AzureOperationResponse> _response = await BeginSuspendNextWithHttpMessagesAsync(nextPageLink, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); } /// - /// Resumes the AppServiceEnvironment. + /// Get global usage metrics of an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Get global usage metrics of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -8845,10 +10419,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> BeginResumeNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -8863,7 +10449,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginResumeNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListUsagesNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -8871,25 +10457,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8906,10 +10492,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8917,7 +10503,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8925,20 +10511,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8960,7 +10546,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8973,27 +10559,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9011,11 +10579,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// Get all worker pools of an App Service Environment. /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// + /// Get all worker pools of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -9025,10 +10593,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListAppServicePlansNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -9043,7 +10623,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListAppServicePlansNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -9051,25 +10631,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9086,10 +10666,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9097,7 +10677,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9111,14 +10691,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9140,7 +10720,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9153,9 +10733,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9173,9 +10753,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -9185,10 +10769,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebAppsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolInstanceMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -9203,7 +10799,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebAppsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolInstanceMetricDefinitionsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -9211,25 +10807,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9246,10 +10842,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9257,7 +10853,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9271,14 +10867,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9300,7 +10896,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9313,9 +10909,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9333,30 +10929,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Suspends the AppServiceEnvironment. - /// - /// Suspends the AppServiceEnvironment. - /// - /// The NextLink from the previous successful call to List operation. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task>> SuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse> _response = await BeginSuspendNextWithHttpMessagesAsync( - nextPageLink, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Suspends the AppServiceEnvironment. + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -9366,10 +10945,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> BeginSuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolInstanceMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -9384,7 +10975,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginSuspendNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolInstanceMetricsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -9392,25 +10983,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9427,10 +11018,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9438,7 +11029,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9446,20 +11037,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9481,7 +11072,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9494,27 +11085,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9532,9 +11105,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a worker pool of an App Service Environment. /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a worker pool of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -9544,10 +11119,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebWorkerMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -9562,7 +11149,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListUsagesNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetricDefinitionsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -9570,25 +11157,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9605,10 +11192,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9616,7 +11203,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9630,14 +11217,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9659,7 +11246,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9672,9 +11259,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9692,9 +11279,13 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get all worker pools + /// Get metrics for a worker pool of a AppServiceEnvironment (App Service + /// Environment). /// - /// Get all worker pools + /// + /// Get metrics for a worker pool of a AppServiceEnvironment (App Service + /// Environment). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -9704,10 +11295,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWorkerPoolsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebWorkerMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -9722,7 +11325,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetricsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -9730,25 +11333,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9765,10 +11368,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9776,7 +11379,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9790,14 +11393,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9819,7 +11422,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9832,9 +11435,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9852,11 +11455,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get available SKUs for scaling a worker pool. /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get available SKUs for scaling a worker pool. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -9866,10 +11469,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebWorkerMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWorkerPoolSkusNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -9884,7 +11499,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetricDefinitionsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolSkusNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -9892,25 +11507,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9927,10 +11542,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9938,7 +11553,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9952,14 +11567,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9981,7 +11596,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9994,9 +11609,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10014,11 +11629,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get metrics for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get metrics for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -10028,10 +11643,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebWorkerMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebWorkerUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -10046,7 +11673,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerMetricsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerUsagesNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -10054,25 +11681,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10089,10 +11716,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10100,7 +11727,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10114,14 +11741,14 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10143,7 +11770,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10156,9 +11783,9 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10176,9 +11803,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get available skus for scaling a worker pool. + /// Resume an App Service Environment. /// - /// Get available skus for scaling a worker pool. + /// + /// Resume an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -10188,10 +11817,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWorkerPoolSkusNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> BeginResumeNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -10206,7 +11847,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWorkerPoolSkusNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginResumeNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -10214,25 +11855,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10249,10 +11890,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10260,7 +11901,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10268,20 +11909,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10303,7 +11944,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10316,9 +11957,27 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10336,11 +11995,11 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Suspend an App Service Environment. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Suspend an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -10350,10 +12009,22 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebWorkerUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> BeginSuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -10368,7 +12039,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebWorkerUsagesNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginSuspendNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -10376,25 +12047,25 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10411,10 +12082,10 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10422,7 +12093,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10430,20 +12101,20 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10465,7 +12136,7 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10478,9 +12149,27 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10499,3 +12188,4 @@ internal AppServiceEnvironmentsOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperationsExtensions.cs index be7622860265..5400c56df5f2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServiceEnvironmentsOperationsExtensions.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Collections; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for AppServiceEnvironmentsOperations. @@ -23,21 +24,25 @@ namespace Microsoft.Azure.Management.WebSites public static partial class AppServiceEnvironmentsOperationsExtensions { /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// Get all App Service Environments for a subscription. /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// + /// Get all App Service Environments for a subscription. + /// /// /// The operations group for this extension method. /// public static IPage List(this IAppServiceEnvironmentsOperations operations) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync().GetAwaiter().GetResult(); } /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// Get all App Service Environments for a subscription. /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// + /// Get all App Service Environments for a subscription. + /// /// /// The operations group for this extension method. /// @@ -53,29 +58,33 @@ public static IPage List(this IAppServiceEnvironmentsOper } /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// Get all App Service Environments in a resource group. /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// + /// Get all App Service Environments in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// public static IPage ListByResourceGroup(this IAppServiceEnvironmentsOperations operations, string resourceGroupName) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListByResourceGroupAsync(resourceGroupName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupAsync(resourceGroupName).GetAwaiter().GetResult(); } /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// Get all App Service Environments in a resource group. /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// + /// Get all App Service Environments in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// The cancellation token. @@ -89,35 +98,39 @@ public static IPage ListByResourceGroup(this IAppServiceE } /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// Get the properties of an App Service Environment. /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// + /// Get the properties of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static AppServiceEnvironment Get(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).GetAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// Get the properties of an App Service Environment. /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// + /// Get the properties of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -131,41 +144,45 @@ public static AppServiceEnvironment Get(this IAppServiceEnvironmentsOperations o } /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// Create or update an App Service Environment. /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// + /// Create or update an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Properties of AppServiceEnvironment (App Service Environment) + /// Configuration details of the App Service Environment. /// public static AppServiceEnvironment CreateOrUpdate(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).CreateOrUpdateAsync(resourceGroupName, name, hostingEnvironmentEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateAsync(resourceGroupName, name, hostingEnvironmentEnvelope).GetAwaiter().GetResult(); } /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// Create or update an App Service Environment. /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// + /// Create or update an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Properties of AppServiceEnvironment (App Service Environment) + /// Configuration details of the App Service Environment. /// /// /// The cancellation token. @@ -179,187 +196,96 @@ public static AppServiceEnvironment CreateOrUpdate(this IAppServiceEnvironmentsO } /// - /// Create or update a AppServiceEnvironment (App Service Environment). - /// - /// Create or update a AppServiceEnvironment (App Service Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of AppServiceEnvironment (App Service Environment) - /// - public static AppServiceEnvironment BeginCreateOrUpdate(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope) - { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginCreateOrUpdateAsync(resourceGroupName, name, hostingEnvironmentEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Create or update a AppServiceEnvironment (App Service Environment). - /// - /// Create or update a AppServiceEnvironment (App Service Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of AppServiceEnvironment (App Service Environment) - /// - /// - /// The cancellation token. - /// - public static async Task BeginCreateOrUpdateAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, hostingEnvironmentEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources - /// - public static object Delete(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?)) - { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).DeleteAsync(resourceGroupName, name, forceDelete), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources - /// - /// - /// The cancellation token. - /// - public static async Task DeleteAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, forceDelete, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// Delete an App Service Environment. /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// + /// Delete an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources + /// Specify <code>true</code> to force the deletion even if the App + /// Service Environment contains resources. The default is + /// <code>false</code>. /// - public static object BeginDelete(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?)) + public static void Delete(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginDeleteAsync(resourceGroupName, name, forceDelete), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteAsync(resourceGroupName, name, forceDelete).GetAwaiter().GetResult(); } /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// Delete an App Service Environment. /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// + /// Delete an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources + /// Specify <code>true</code> to force the deletion even if the App + /// Service Environment contains resources. The default is + /// <code>false</code>. /// /// /// The cancellation token. /// - public static async Task BeginDeleteAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginDeleteWithHttpMessagesAsync(resourceGroupName, name, forceDelete, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, forceDelete, null, cancellationToken).ConfigureAwait(false); } /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// Get the used, available, and total worker capacity an App Service + /// Environment. /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage ListCapacities(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListCapacitiesAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListCapacitiesAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// Get the used, available, and total worker capacity an App Service + /// Environment. /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -373,39 +299,39 @@ public static IPage ListCapacities(this IAppServiceEnvironmentsOp } /// - /// Get IP addresses assigned to the AppServiceEnvironment (App Service - /// Environment). + /// Get IP addresses assigned to an App Service Environment. /// - /// Get IP addresses assigned to the AppServiceEnvironment (App Service - /// Environment). + /// + /// Get IP addresses assigned to an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static AddressResponse ListVips(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListVipsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListVipsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get IP addresses assigned to the AppServiceEnvironment (App Service - /// Environment). + /// Get IP addresses assigned to an App Service Environment. /// - /// Get IP addresses assigned to the AppServiceEnvironment (App Service - /// Environment). + /// + /// Get IP addresses assigned to an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -419,39 +345,39 @@ public static AddressResponse ListVips(this IAppServiceEnvironmentsOperations op } /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get diagnostic information for an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get diagnostic information for an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IList ListDiagnostics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListDiagnosticsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDiagnosticsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get diagnostic information for an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get diagnostic information for an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -465,45 +391,45 @@ public static IList ListDiagnostics(this IAppServ } /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get a diagnostics item for an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get a diagnostics item for an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of the diagnostics + /// Name of the diagnostics item. /// public static HostingEnvironmentDiagnostics GetDiagnosticsItem(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string diagnosticsName) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).GetDiagnosticsItemAsync(resourceGroupName, name, diagnosticsName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetDiagnosticsItemAsync(resourceGroupName, name, diagnosticsName).GetAwaiter().GetResult(); } /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get a diagnostics item for an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get a diagnostics item for an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of the diagnostics + /// Name of the diagnostics item. /// /// /// The cancellation token. @@ -517,39 +443,39 @@ public static HostingEnvironmentDiagnostics GetDiagnosticsItem(this IAppServiceE } /// - /// Get global metric definitions of AppServiceEnvironment (App Service - /// Environment). + /// Get global metric definitions of an App Service Environment. /// - /// Get global metric definitions of AppServiceEnvironment (App Service - /// Environment). + /// + /// Get global metric definitions of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static MetricDefinition ListMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMetricDefinitionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricDefinitionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get global metric definitions of AppServiceEnvironment (App Service - /// Environment). + /// Get global metric definitions of an App Service Environment. /// - /// Get global metric definitions of AppServiceEnvironment (App Service - /// Environment). + /// + /// Get global metric definitions of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -563,20 +489,23 @@ public static MetricDefinition ListMetricDefinitions(this IAppServiceEnvironment } /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// Get global metrics of an App Service Environment. /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// + /// Get global metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -586,24 +515,27 @@ public static MetricDefinition ListMetricDefinitions(this IAppServiceEnvironment /// public static IPage ListMetrics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMetricsAsync(resourceGroupName, name, details, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsAsync(resourceGroupName, name, details, filter).GetAwaiter().GetResult(); } /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// Get global metrics of an App Service Environment. /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// + /// Get global metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -623,35 +555,39 @@ public static MetricDefinition ListMetricDefinitions(this IAppServiceEnvironment } /// - /// Get all multi role pools + /// Get all multi-role pools. /// - /// Get all multi role pools + /// + /// Get all multi-role pools. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage ListMultiRolePools(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRolePoolsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRolePoolsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get all multi role pools + /// Get all multi-role pools. /// - /// Get all multi role pools + /// + /// Get all multi-role pools. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -665,35 +601,39 @@ public static IPage ListMultiRolePools(this IAppServiceEnvironmentsO } /// - /// Get properties of a multiRool pool. + /// Get properties of a multi-role pool. /// - /// Get properties of a multiRool pool. + /// + /// Get properties of a multi-role pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static WorkerPool GetMultiRolePool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).GetMultiRolePoolAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetMultiRolePoolAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get properties of a multiRool pool. + /// Get properties of a multi-role pool. /// - /// Get properties of a multiRool pool. + /// + /// Get properties of a multi-role pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -707,41 +647,45 @@ public static WorkerPool GetMultiRolePool(this IAppServiceEnvironmentsOperations } /// - /// Create or update a multiRole pool. + /// Create or update a multi-role pool. /// - /// Create or update a multiRole pool. + /// + /// Create or update a multi-role pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Properties of multiRole pool + /// Properties of the multi-role pool. /// public static WorkerPool CreateOrUpdateMultiRolePool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).CreateOrUpdateMultiRolePoolAsync(resourceGroupName, name, multiRolePoolEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateMultiRolePoolAsync(resourceGroupName, name, multiRolePoolEnvelope).GetAwaiter().GetResult(); } /// - /// Create or update a multiRole pool. + /// Create or update a multi-role pool. /// - /// Create or update a multiRole pool. + /// + /// Create or update a multi-role pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Properties of multiRole pool + /// Properties of the multi-role pool. /// /// /// The cancellation token. @@ -755,98 +699,54 @@ public static WorkerPool CreateOrUpdateMultiRolePool(this IAppServiceEnvironment } /// - /// Create or update a multiRole pool. - /// - /// Create or update a multiRole pool. - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of multiRole pool - /// - public static WorkerPool BeginCreateOrUpdateMultiRolePool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope) - { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginCreateOrUpdateMultiRolePoolAsync(resourceGroupName, name, multiRolePoolEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Create or update a multiRole pool. - /// - /// Create or update a multiRole pool. - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of multiRole pool - /// - /// - /// The cancellation token. - /// - public static async Task BeginCreateOrUpdateMultiRolePoolAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync(resourceGroupName, name, multiRolePoolEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Get metric definitions for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. /// - /// Get metric definitions for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of instance in the multiRole pool&gt; + /// Name of the instance in the multi-role pool. /// - public static object ListMultiRolePoolInstanceMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance) + public static IPage ListMultiRolePoolInstanceMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRolePoolInstanceMetricDefinitionsAsync(resourceGroupName, name, instance), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRolePoolInstanceMetricDefinitionsAsync(resourceGroupName, name, instance).GetAwaiter().GetResult(); } /// - /// Get metric definitions for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. /// - /// Get metric definitions for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of instance in the multiRole pool&gt; + /// Name of the instance in the multi-role pool. /// /// /// The cancellation token. /// - public static async Task ListMultiRolePoolInstanceMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMultiRolePoolInstanceMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMultiRolePoolInstanceMetricDefinitionsWithHttpMessagesAsync(resourceGroupName, name, instance, null, cancellationToken).ConfigureAwait(false)) { @@ -855,56 +755,62 @@ public static object ListMultiRolePoolInstanceMetricDefinitions(this IAppService } /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of instance in the multiRole pool + /// Name of the instance in the multi-role pool. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// - public static object ListMultiRolePoolInstanceMetrics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance, bool? details = default(bool?)) + public static IPage ListMultiRolePoolInstanceMetrics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance, bool? details = default(bool?)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRolePoolInstanceMetricsAsync(resourceGroupName, name, instance, details), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRolePoolInstanceMetricsAsync(resourceGroupName, name, instance, details).GetAwaiter().GetResult(); } /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of instance in the multiRole pool + /// Name of the instance in the multi-role pool. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// The cancellation token. /// - public static async Task ListMultiRolePoolInstanceMetricsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance, bool? details = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMultiRolePoolInstanceMetricsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string instance, bool? details = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMultiRolePoolInstanceMetricsWithHttpMessagesAsync(resourceGroupName, name, instance, details, null, cancellationToken).ConfigureAwait(false)) { @@ -913,44 +819,44 @@ public static object ListMultiRolePoolInstanceMetricDefinitions(this IAppService } /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// Get metric definitions for a multi-role pool of an App Service Environment. /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - public static IPage ListMultiRoleMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) + public static IPage ListMultiRoleMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRoleMetricDefinitionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRoleMetricDefinitionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// Get metric definitions for a multi-role pool of an App Service Environment. /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. /// - public static async Task> ListMultiRoleMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMultiRoleMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMultiRoleMetricDefinitionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { @@ -959,31 +865,32 @@ public static IPage ListMultiRoleMetricDefinitions(this IAppSe } /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get metrics for a multi-role pool of an App Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Beginning time of metrics query + /// Beginning time of the metrics query. /// /// - /// End time of metrics query + /// End time of the metrics query. /// /// - /// Time granularity of metrics query + /// Time granularity of the metrics query. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -993,35 +900,36 @@ public static IPage ListMultiRoleMetricDefinitions(this IAppSe /// public static IPage ListMultiRoleMetrics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string startTime = default(string), string endTime = default(string), string timeGrain = default(string), bool? details = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRoleMetricsAsync(resourceGroupName, name, startTime, endTime, timeGrain, details, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRoleMetricsAsync(resourceGroupName, name, startTime, endTime, timeGrain, details, filter).GetAwaiter().GetResult(); } /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get metrics for a multi-role pool of an App Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Beginning time of metrics query + /// Beginning time of the metrics query. /// /// - /// End time of metrics query + /// End time of the metrics query. /// /// - /// Time granularity of metrics query + /// Time granularity of the metrics query. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -1041,35 +949,39 @@ public static IPage ListMultiRoleMetricDefinitions(this IAppSe } /// - /// Get available skus for scaling a multiRole pool. + /// Get available SKUs for scaling a multi-role pool. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage ListMultiRolePoolSkus(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRolePoolSkusAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRolePoolSkusAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get available skus for scaling a multiRole pool. + /// Get available SKUs for scaling a multi-role pool. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -1083,39 +995,39 @@ public static IPage ListMultiRolePoolSkus(this IAppServiceEnvironmentsO } /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a multi-role pool of an App Service Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage ListMultiRoleUsages(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRoleUsagesAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRoleUsagesAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a multi-role pool of an App Service Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -1129,44 +1041,44 @@ public static IPage ListMultiRoleUsages(this IAppServiceEnvironmentsOpera } /// - /// List all currently running operations on the AppServiceEnvironment (App - /// Service Environment) + /// List all currently running operations on the App Service Environment. /// - /// List all currently running operations on the AppServiceEnvironment (App - /// Service Environment) + /// + /// List all currently running operations on the App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - public static object ListOperations(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) + public static IList ListOperations(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListOperationsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListOperationsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// List all currently running operations on the AppServiceEnvironment (App - /// Service Environment) + /// List all currently running operations on the App Service Environment. /// - /// List all currently running operations on the AppServiceEnvironment (App - /// Service Environment) + /// + /// List all currently running operations on the App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. /// - public static async Task ListOperationsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListOperationsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListOperationsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { @@ -1175,129 +1087,82 @@ public static object ListOperations(this IAppServiceEnvironmentsOperations opera } /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). - /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// operation identifier GUID - /// - public static object GetOperation(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string operationId) - { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).GetOperationAsync(resourceGroupName, name, operationId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). - /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// operation identifier GUID - /// - /// - /// The cancellation token. - /// - public static async Task GetOperationAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string operationId, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetOperationWithHttpMessagesAsync(resourceGroupName, name, operationId, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Reboots all machines in a AppServiceEnvironment (App Service Environment). + /// Reboot all machines in an App Service Environment. /// - /// Reboots all machines in a AppServiceEnvironment (App Service Environment). + /// + /// Reboot all machines in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - public static object Reboot(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) + public static void Reboot(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).RebootAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RebootAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Reboots all machines in a AppServiceEnvironment (App Service Environment). + /// Reboot all machines in an App Service Environment. /// - /// Reboots all machines in a AppServiceEnvironment (App Service Environment). + /// + /// Reboot all machines in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. /// - public static async Task RebootAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RebootAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RebootWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.RebootWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Resumes the AppServiceEnvironment. + /// Resume an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Resume an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage Resume(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ResumeAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ResumeAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Resumes the AppServiceEnvironment. + /// Resume an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Resume an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -1311,81 +1176,39 @@ public static IPage Resume(this IAppServiceEnvironmentsOperations operatio } /// - /// Resumes the AppServiceEnvironment. - /// - /// Resumes the AppServiceEnvironment. - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - public static IPage BeginResume(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) - { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginResumeAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Resumes the AppServiceEnvironment. - /// - /// Resumes the AppServiceEnvironment. - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// The cancellation token. - /// - public static async Task> BeginResumeAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginResumeWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// Get all App Service plans in an App Service Environment. /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// + /// Get all App Service plans in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage ListAppServicePlans(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListAppServicePlansAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAppServicePlansAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// Get all App Service plans in an App Service Environment. /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// + /// Get all App Service plans in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -1399,41 +1222,45 @@ public static IPage ListAppServicePlans(this IAppServiceEnvironm } /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// Get all apps in an App Service Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// + /// Get all apps in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Comma separated list of site properties to include + /// Comma separated list of app properties to include. /// public static IPage ListWebApps(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string propertiesToInclude = default(string)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebAppsAsync(resourceGroupName, name, propertiesToInclude), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebAppsAsync(resourceGroupName, name, propertiesToInclude).GetAwaiter().GetResult(); } /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// Get all apps in an App Service Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// + /// Get all apps in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Comma separated list of site properties to include + /// Comma separated list of app properties to include. /// /// /// The cancellation token. @@ -1447,35 +1274,39 @@ public static IPage ListAppServicePlans(this IAppServiceEnvironm } /// - /// Suspends the AppServiceEnvironment. + /// Suspend an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Suspend an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage Suspend(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).SuspendAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.SuspendAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Suspends the AppServiceEnvironment. + /// Suspend an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Suspend an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -1489,59 +1320,19 @@ public static IPage Suspend(this IAppServiceEnvironmentsOperations operati } /// - /// Suspends the AppServiceEnvironment. - /// - /// Suspends the AppServiceEnvironment. - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - public static IPage BeginSuspend(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) - { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginSuspendAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Suspends the AppServiceEnvironment. - /// - /// Suspends the AppServiceEnvironment. - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// The cancellation token. - /// - public static async Task> BeginSuspendAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginSuspendWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// Get global usage metrics of an App Service Environment. /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// + /// Get global usage metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -1551,21 +1342,23 @@ public static IPage BeginSuspend(this IAppServiceEnvironmentsOperations op /// public static IPage ListUsages(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string filter = default(string)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListUsagesAsync(resourceGroupName, name, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListUsagesAsync(resourceGroupName, name, filter).GetAwaiter().GetResult(); } /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// Get global usage metrics of an App Service Environment. /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// + /// Get global usage metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -1585,35 +1378,39 @@ public static IPage BeginSuspend(this IAppServiceEnvironmentsOperations op } /// - /// Get all worker pools + /// Get all worker pools of an App Service Environment. /// - /// Get all worker pools + /// + /// Get all worker pools of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// public static IPage ListWorkerPools(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWorkerPoolsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get all worker pools + /// Get all worker pools of an App Service Environment. /// - /// Get all worker pools + /// + /// Get all worker pools of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The cancellation token. @@ -1629,39 +1426,43 @@ public static IPage ListWorkerPools(this IAppServiceEnvironmentsOper /// /// Get properties of a worker pool. /// + /// /// Get properties of a worker pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// public static WorkerPool GetWorkerPool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).GetWorkerPoolAsync(resourceGroupName, name, workerPoolName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetWorkerPoolAsync(resourceGroupName, name, workerPoolName).GetAwaiter().GetResult(); } /// /// Get properties of a worker pool. /// + /// /// Get properties of a worker pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// /// The cancellation token. @@ -1677,45 +1478,49 @@ public static WorkerPool GetWorkerPool(this IAppServiceEnvironmentsOperations op /// /// Create or update a worker pool. /// + /// /// Create or update a worker pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// - /// Properties of worker pool + /// Properties of the worker pool. /// public static WorkerPool CreateOrUpdateWorkerPool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).CreateOrUpdateWorkerPoolAsync(resourceGroupName, name, workerPoolName, workerPoolEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateWorkerPoolAsync(resourceGroupName, name, workerPoolName, workerPoolEnvelope).GetAwaiter().GetResult(); } /// /// Create or update a worker pool. /// + /// /// Create or update a worker pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// - /// Properties of worker pool + /// Properties of the worker pool. /// /// /// The cancellation token. @@ -1729,110 +1534,60 @@ public static WorkerPool CreateOrUpdateWorkerPool(this IAppServiceEnvironmentsOp } /// - /// Create or update a worker pool. + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. /// - /// Create or update a worker pool. + /// + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// - /// - /// Properties of worker pool + /// + /// Name of the instance in the worker pool. /// - public static WorkerPool BeginCreateOrUpdateWorkerPool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope) + public static IPage ListWorkerPoolInstanceMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginCreateOrUpdateWorkerPoolAsync(resourceGroupName, name, workerPoolName, workerPoolEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolInstanceMetricDefinitionsAsync(resourceGroupName, name, workerPoolName, instance).GetAwaiter().GetResult(); } /// - /// Create or update a worker pool. + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. /// - /// Create or update a worker pool. + /// + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool - /// - /// - /// Properties of worker pool - /// - /// - /// The cancellation token. - /// - public static async Task BeginCreateOrUpdateWorkerPoolAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync(resourceGroupName, name, workerPoolName, workerPoolEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Get metric definitions for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). - /// - /// Get metric definitions for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool + /// Name of the worker pool. /// /// - /// Name of instance in the worker pool - /// - public static object ListWorkerPoolInstanceMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance) - { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWorkerPoolInstanceMetricDefinitionsAsync(resourceGroupName, name, workerPoolName, instance), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Get metric definitions for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). - /// - /// Get metric definitions for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool - /// - /// - /// Name of instance in the worker pool + /// Name of the instance in the worker pool. /// /// /// The cancellation token. /// - public static async Task ListWorkerPoolInstanceMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWorkerPoolInstanceMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListWorkerPoolInstanceMetricDefinitionsWithHttpMessagesAsync(resourceGroupName, name, workerPoolName, instance, null, cancellationToken).ConfigureAwait(false)) { @@ -1841,28 +1596,31 @@ public static object ListWorkerPoolInstanceMetricDefinitions(this IAppServiceEnv } /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// - /// Name of instance in the worker pool + /// Name of the instance in the worker pool. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -1870,34 +1628,37 @@ public static object ListWorkerPoolInstanceMetricDefinitions(this IAppServiceEnv /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. /// - public static object ListWorkerPoolInstanceMetrics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string)) + public static IPage ListWorkerPoolInstanceMetrics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWorkerPoolInstanceMetricsAsync(resourceGroupName, name, workerPoolName, instance, details, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolInstanceMetricsAsync(resourceGroupName, name, workerPoolName, instance, details, filter).GetAwaiter().GetResult(); } /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// - /// Name of instance in the worker pool + /// Name of the instance in the worker pool. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -1908,7 +1669,7 @@ public static object ListWorkerPoolInstanceMetricDefinitions(this IAppServiceEnv /// /// The cancellation token. /// - public static async Task ListWorkerPoolInstanceMetricsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWorkerPoolInstanceMetricsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListWorkerPoolInstanceMetricsWithHttpMessagesAsync(resourceGroupName, name, workerPoolName, instance, details, filter, null, cancellationToken).ConfigureAwait(false)) { @@ -1917,50 +1678,50 @@ public static object ListWorkerPoolInstanceMetricDefinitions(this IAppServiceEnv } /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get metric definitions for a worker pool of an App Service Environment. /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get metric definitions for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// - public static IPage ListWebWorkerMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName) + public static IPage ListWebWorkerMetricDefinitions(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebWorkerMetricDefinitionsAsync(resourceGroupName, name, workerPoolName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebWorkerMetricDefinitionsAsync(resourceGroupName, name, workerPoolName).GetAwaiter().GetResult(); } /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get metric definitions for a worker pool of an App Service Environment. /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get metric definitions for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// /// The cancellation token. /// - public static async Task> ListWebWorkerMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWebWorkerMetricDefinitionsAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListWebWorkerMetricDefinitionsWithHttpMessagesAsync(resourceGroupName, name, workerPoolName, null, cancellationToken).ConfigureAwait(false)) { @@ -1972,22 +1733,25 @@ public static IPage ListWebWorkerMetricDefinitions(this IAppSe /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). /// + /// /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Name of worker pool /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -1997,29 +1761,32 @@ public static IPage ListWebWorkerMetricDefinitions(this IAppSe /// public static IPage ListWebWorkerMetrics(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, bool? details = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebWorkerMetricsAsync(resourceGroupName, name, workerPoolName, details, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebWorkerMetricsAsync(resourceGroupName, name, workerPoolName, details, filter).GetAwaiter().GetResult(); } /// /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). /// + /// /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Name of worker pool /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -2039,41 +1806,45 @@ public static IPage ListWebWorkerMetricDefinitions(this IAppSe } /// - /// Get available skus for scaling a worker pool. + /// Get available SKUs for scaling a worker pool. /// - /// Get available skus for scaling a worker pool. + /// + /// Get available SKUs for scaling a worker pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// public static IPage ListWorkerPoolSkus(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWorkerPoolSkusAsync(resourceGroupName, name, workerPoolName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolSkusAsync(resourceGroupName, name, workerPoolName).GetAwaiter().GetResult(); } /// - /// Get available skus for scaling a worker pool. + /// Get available SKUs for scaling a worker pool. /// - /// Get available skus for scaling a worker pool. + /// + /// Get available SKUs for scaling a worker pool. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// /// The cancellation token. @@ -2087,45 +1858,45 @@ public static IPage ListWorkerPoolSkus(this IAppServiceEnvironmentsOper } /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// public static IPage ListWebWorkerUsages(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebWorkerUsagesAsync(resourceGroupName, name, workerPoolName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebWorkerUsagesAsync(resourceGroupName, name, workerPoolName).GetAwaiter().GetResult(); } /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// /// /// The cancellation token. @@ -2139,9 +1910,318 @@ public static IPage ListWebWorkerUsages(this IAppServiceEnvironmentsOpera } /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// Create or update an App Service Environment. + /// + /// + /// Create or update an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Configuration details of the App Service Environment. + /// + public static AppServiceEnvironment BeginCreateOrUpdate(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope) + { + return operations.BeginCreateOrUpdateAsync(resourceGroupName, name, hostingEnvironmentEnvelope).GetAwaiter().GetResult(); + } + + /// + /// Create or update an App Service Environment. + /// + /// + /// Create or update an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Configuration details of the App Service Environment. + /// + /// + /// The cancellation token. + /// + public static async Task BeginCreateOrUpdateAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, hostingEnvironmentEnvelope, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Delete an App Service Environment. + /// + /// + /// Delete an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Specify <code>true</code> to force the deletion even if the App + /// Service Environment contains resources. The default is + /// <code>false</code>. + /// + public static void BeginDelete(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?)) + { + operations.BeginDeleteAsync(resourceGroupName, name, forceDelete).GetAwaiter().GetResult(); + } + + /// + /// Delete an App Service Environment. + /// + /// + /// Delete an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Specify <code>true</code> to force the deletion even if the App + /// Service Environment contains resources. The default is + /// <code>false</code>. + /// + /// + /// The cancellation token. + /// + public static async Task BeginDeleteAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, bool? forceDelete = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.BeginDeleteWithHttpMessagesAsync(resourceGroupName, name, forceDelete, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Create or update a multi-role pool. + /// + /// + /// Create or update a multi-role pool. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Properties of the multi-role pool. + /// + public static WorkerPool BeginCreateOrUpdateMultiRolePool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope) + { + return operations.BeginCreateOrUpdateMultiRolePoolAsync(resourceGroupName, name, multiRolePoolEnvelope).GetAwaiter().GetResult(); + } + + /// + /// Create or update a multi-role pool. + /// + /// + /// Create or update a multi-role pool. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Properties of the multi-role pool. + /// + /// + /// The cancellation token. + /// + public static async Task BeginCreateOrUpdateMultiRolePoolAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync(resourceGroupName, name, multiRolePoolEnvelope, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Resume an App Service Environment. + /// + /// + /// Resume an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + public static IPage BeginResume(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) + { + return operations.BeginResumeAsync(resourceGroupName, name).GetAwaiter().GetResult(); + } + + /// + /// Resume an App Service Environment. + /// + /// + /// Resume an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// The cancellation token. + /// + public static async Task> BeginResumeAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginResumeWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Suspend an App Service Environment. + /// + /// + /// Suspend an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + public static IPage BeginSuspend(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name) + { + return operations.BeginSuspendAsync(resourceGroupName, name).GetAwaiter().GetResult(); + } + + /// + /// Suspend an App Service Environment. + /// + /// + /// Suspend an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// The cancellation token. + /// + public static async Task> BeginSuspendAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginSuspendWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Create or update a worker pool. + /// + /// + /// Create or update a worker pool. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Name of the worker pool. + /// + /// + /// Properties of the worker pool. + /// + public static WorkerPool BeginCreateOrUpdateWorkerPool(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope) + { + return operations.BeginCreateOrUpdateWorkerPoolAsync(resourceGroupName, name, workerPoolName, workerPoolEnvelope).GetAwaiter().GetResult(); + } + + /// + /// Create or update a worker pool. /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// + /// Create or update a worker pool. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Name of the worker pool. + /// + /// + /// Properties of the worker pool. + /// + /// + /// The cancellation token. + /// + public static async Task BeginCreateOrUpdateWorkerPoolAsync(this IAppServiceEnvironmentsOperations operations, string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync(resourceGroupName, name, workerPoolName, workerPoolEnvelope, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get all App Service Environments for a subscription. + /// + /// + /// Get all App Service Environments for a subscription. + /// /// /// The operations group for this extension method. /// @@ -2150,13 +2230,15 @@ public static IPage ListWebWorkerUsages(this IAppServiceEnvironmentsOpera /// public static IPage ListNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// Get all App Service Environments for a subscription. /// - /// Gets all hostingEnvironments (App Service Environment) for a subscription + /// + /// Get all App Service Environments for a subscription. + /// /// /// The operations group for this extension method. /// @@ -2175,9 +2257,11 @@ public static IPage ListNext(this IAppServiceEnvironments } /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// Get all App Service Environments in a resource group. /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// + /// Get all App Service Environments in a resource group. + /// /// /// The operations group for this extension method. /// @@ -2186,13 +2270,15 @@ public static IPage ListNext(this IAppServiceEnvironments /// public static IPage ListByResourceGroupNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListByResourceGroupNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// Get all App Service Environments in a resource group. /// - /// Get all hostingEnvironments (App Service Environments) in a resource group. + /// + /// Get all App Service Environments in a resource group. + /// /// /// The operations group for this extension method. /// @@ -2211,11 +2297,13 @@ public static IPage ListByResourceGroupNext(this IAppServ } /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// Get the used, available, and total worker capacity an App Service + /// Environment. /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// @@ -2224,15 +2312,17 @@ public static IPage ListByResourceGroupNext(this IAppServ /// public static IPage ListCapacitiesNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListCapacitiesNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListCapacitiesNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// Get the used, available, and total worker capacity an App Service + /// Environment. /// - /// Get used, available, and total worker capacity for AppServiceEnvironment - /// (App Service Environment). + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// @@ -2251,9 +2341,11 @@ public static IPage ListCapacitiesNext(this IAppServiceEnvironmen } /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// Get global metrics of an App Service Environment. /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// + /// Get global metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2262,13 +2354,15 @@ public static IPage ListCapacitiesNext(this IAppServiceEnvironmen /// public static IPage ListMetricsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMetricsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// Get global metrics of an App Service Environment. /// - /// Get global metrics of AppServiceEnvironment (App Service Environment). + /// + /// Get global metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2287,9 +2381,11 @@ public static IPage ListMetricsNext(this IAppServiceEnvironments } /// - /// Get all multi role pools + /// Get all multi-role pools. /// - /// Get all multi role pools + /// + /// Get all multi-role pools. + /// /// /// The operations group for this extension method. /// @@ -2298,13 +2394,15 @@ public static IPage ListMetricsNext(this IAppServiceEnvironments /// public static IPage ListMultiRolePoolsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRolePoolsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRolePoolsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get all multi role pools + /// Get all multi-role pools. /// - /// Get all multi role pools + /// + /// Get all multi-role pools. + /// /// /// The operations group for this extension method. /// @@ -2323,28 +2421,32 @@ public static IPage ListMultiRolePoolsNext(this IAppServiceEnvironme } /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListMultiRoleMetricDefinitionsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListMultiRolePoolInstanceMetricDefinitionsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRoleMetricDefinitionsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRolePoolInstanceMetricDefinitionsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. /// - /// Get metric definitions for a multiRole pool of a AppServiceEnvironment - /// (App Service Environment). + /// + /// Get metric definitions for a specific instance of a multi-role pool of an + /// App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2354,7 +2456,91 @@ public static IPage ListMultiRoleMetricDefinitionsNext(this IA /// /// The cancellation token. /// - public static async Task> ListMultiRoleMetricDefinitionsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMultiRolePoolInstanceMetricDefinitionsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListMultiRolePoolInstanceMetricDefinitionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListMultiRolePoolInstanceMetricsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + { + return operations.ListMultiRolePoolInstanceMetricsNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// + /// + /// Get metrics for a specific instance of a multi-role pool of an App Service + /// Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListMultiRolePoolInstanceMetricsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListMultiRolePoolInstanceMetricsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListMultiRoleMetricDefinitionsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + { + return operations.ListMultiRoleMetricDefinitionsNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// + /// + /// Get metric definitions for a multi-role pool of an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListMultiRoleMetricDefinitionsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMultiRoleMetricDefinitionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { @@ -2363,11 +2549,11 @@ public static IPage ListMultiRoleMetricDefinitionsNext(this IA } /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get metrics for a multi-role pool of an App Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2376,15 +2562,15 @@ public static IPage ListMultiRoleMetricDefinitionsNext(this IA /// public static IPage ListMultiRoleMetricsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRoleMetricsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRoleMetricsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get metrics for a multi-role pool of an App Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2403,9 +2589,11 @@ public static IPage ListMultiRoleMetricsNext(this IAppServiceEnv } /// - /// Get available skus for scaling a multiRole pool. + /// Get available SKUs for scaling a multi-role pool. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// /// The operations group for this extension method. /// @@ -2414,13 +2602,15 @@ public static IPage ListMultiRoleMetricsNext(this IAppServiceEnv /// public static IPage ListMultiRolePoolSkusNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRolePoolSkusNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRolePoolSkusNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get available skus for scaling a multiRole pool. + /// Get available SKUs for scaling a multi-role pool. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// /// The operations group for this extension method. /// @@ -2439,11 +2629,11 @@ public static IPage ListMultiRolePoolSkusNext(this IAppServiceEnvironme } /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a multi-role pool of an App Service Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2452,15 +2642,15 @@ public static IPage ListMultiRolePoolSkusNext(this IAppServiceEnvironme /// public static IPage ListMultiRoleUsagesNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListMultiRoleUsagesNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMultiRoleUsagesNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a multi-role pool of an App Service Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2479,9 +2669,11 @@ public static IPage ListMultiRoleUsagesNext(this IAppServiceEnvironmentsO } /// - /// Resumes the AppServiceEnvironment. + /// Resume an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Resume an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2490,13 +2682,15 @@ public static IPage ListMultiRoleUsagesNext(this IAppServiceEnvironmentsO /// public static IPage ResumeNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ResumeNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ResumeNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Resumes the AppServiceEnvironment. + /// Resume an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Resume an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2515,24 +2709,28 @@ public static IPage ResumeNext(this IAppServiceEnvironmentsOperations oper } /// - /// Resumes the AppServiceEnvironment. + /// Get all App Service plans in an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Get all App Service plans in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage BeginResumeNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListAppServicePlansNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginResumeNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAppServicePlansNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Resumes the AppServiceEnvironment. + /// Get all App Service plans in an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Get all App Service plans in an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2542,37 +2740,37 @@ public static IPage BeginResumeNext(this IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - public static async Task> BeginResumeNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListAppServicePlansNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginResumeNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListAppServicePlansNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// Get all apps in an App Service Environment. /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// + /// Get all apps in an App Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListAppServicePlansNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListWebAppsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListAppServicePlansNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebAppsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// Get all apps in an App Service Environment. /// - /// Get all serverfarms (App Service Plans) on the AppServiceEnvironment (App - /// Service Environment). + /// + /// Get all apps in an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2582,33 +2780,37 @@ public static IPage ListAppServicePlansNext(this IAppServiceEnvi /// /// The cancellation token. /// - public static async Task> ListAppServicePlansNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWebAppsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListAppServicePlansNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListWebAppsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// Suspend an App Service Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// + /// Suspend an App Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListWebAppsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage SuspendNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebAppsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.SuspendNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// Suspend an App Service Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service Environment). + /// + /// Suspend an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2618,33 +2820,37 @@ public static IPage ListWebAppsNext(this IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - public static async Task> ListWebAppsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> SuspendNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListWebAppsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.SuspendNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Suspends the AppServiceEnvironment. + /// Get global usage metrics of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get global usage metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage SuspendNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListUsagesNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).SuspendNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListUsagesNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Suspends the AppServiceEnvironment. + /// Get global usage metrics of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get global usage metrics of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2654,33 +2860,37 @@ public static IPage SuspendNext(this IAppServiceEnvironmentsOperations ope /// /// The cancellation token. /// - public static async Task> SuspendNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListUsagesNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.SuspendNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListUsagesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Suspends the AppServiceEnvironment. + /// Get all worker pools of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get all worker pools of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage BeginSuspendNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListWorkerPoolsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).BeginSuspendNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Suspends the AppServiceEnvironment. + /// Get all worker pools of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get all worker pools of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2690,33 +2900,41 @@ public static IPage BeginSuspendNext(this IAppServiceEnvironmentsOperation /// /// The cancellation token. /// - public static async Task> BeginSuspendNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWorkerPoolsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginSuspendNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListWorkerPoolsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListUsagesNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListWorkerPoolInstanceMetricDefinitionsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListUsagesNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolInstanceMetricDefinitionsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. /// - /// Get global usages of AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a specific instance of a worker pool of an App + /// Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2726,33 +2944,41 @@ public static IPage ListUsagesNext(this IAppServiceEnvironmentsOp /// /// The cancellation token. /// - public static async Task> ListUsagesNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWorkerPoolInstanceMetricDefinitionsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListUsagesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListWorkerPoolInstanceMetricDefinitionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get all worker pools + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. /// - /// Get all worker pools + /// + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListWorkerPoolsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListWorkerPoolInstanceMetricsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWorkerPoolsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolInstanceMetricsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get all worker pools + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. /// - /// Get all worker pools + /// + /// Get metrics for a specific instance of a worker pool of an App Service + /// Environment. + /// /// /// The operations group for this extension method. /// @@ -2762,37 +2988,37 @@ public static IPage ListWorkerPoolsNext(this IAppServiceEnvironments /// /// The cancellation token. /// - public static async Task> ListWorkerPoolsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWorkerPoolInstanceMetricsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListWorkerPoolsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListWorkerPoolInstanceMetricsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get metric definitions for a worker pool of an App Service Environment. /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get metric definitions for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListWebWorkerMetricDefinitionsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + public static IPage ListWebWorkerMetricDefinitionsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebWorkerMetricDefinitionsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebWorkerMetricDefinitionsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get metric definitions for a worker pool of an App Service Environment. /// - /// Get metric definitions for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get metric definitions for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2802,7 +3028,7 @@ public static IPage ListWebWorkerMetricDefinitionsNext(this IA /// /// The cancellation token. /// - public static async Task> ListWebWorkerMetricDefinitionsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWebWorkerMetricDefinitionsNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListWebWorkerMetricDefinitionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { @@ -2814,8 +3040,10 @@ public static IPage ListWebWorkerMetricDefinitionsNext(this IA /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). /// + /// /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). + /// /// /// The operations group for this extension method. /// @@ -2824,15 +3052,17 @@ public static IPage ListWebWorkerMetricDefinitionsNext(this IA /// public static IPage ListWebWorkerMetricsNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebWorkerMetricsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebWorkerMetricsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). /// + /// /// Get metrics for a worker pool of a AppServiceEnvironment (App Service /// Environment). + /// /// /// The operations group for this extension method. /// @@ -2851,9 +3081,11 @@ public static IPage ListWebWorkerMetricsNext(this IAppServiceEnv } /// - /// Get available skus for scaling a worker pool. + /// Get available SKUs for scaling a worker pool. /// - /// Get available skus for scaling a worker pool. + /// + /// Get available SKUs for scaling a worker pool. + /// /// /// The operations group for this extension method. /// @@ -2862,13 +3094,15 @@ public static IPage ListWebWorkerMetricsNext(this IAppServiceEnv /// public static IPage ListWorkerPoolSkusNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWorkerPoolSkusNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWorkerPoolSkusNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get available skus for scaling a worker pool. + /// Get available SKUs for scaling a worker pool. /// - /// Get available skus for scaling a worker pool. + /// + /// Get available SKUs for scaling a worker pool. + /// /// /// The operations group for this extension method. /// @@ -2887,11 +3121,11 @@ public static IPage ListWorkerPoolSkusNext(this IAppServiceEnvironments } /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2900,15 +3134,15 @@ public static IPage ListWorkerPoolSkusNext(this IAppServiceEnvironments /// public static IPage ListWebWorkerUsagesNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServiceEnvironmentsOperations)s).ListWebWorkerUsagesNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebWorkerUsagesNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App Service - /// Environment). + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// /// The operations group for this extension method. /// @@ -2926,5 +3160,86 @@ public static IPage ListWebWorkerUsagesNext(this IAppServiceEnvironmentsO } } + /// + /// Resume an App Service Environment. + /// + /// + /// Resume an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage BeginResumeNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + { + return operations.BeginResumeNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Resume an App Service Environment. + /// + /// + /// Resume an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> BeginResumeNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginResumeNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Suspend an App Service Environment. + /// + /// + /// Suspend an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage BeginSuspendNext(this IAppServiceEnvironmentsOperations operations, string nextPageLink) + { + return operations.BeginSuspendNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Suspend an App Service Environment. + /// + /// + /// Suspend an App Service Environment. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> BeginSuspendNextAsync(this IAppServiceEnvironmentsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginSuspendNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperations.cs index 4bcb6f78b817..877f73082e5b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperations.cs @@ -1,28 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// AppServicePlansOperations operations. @@ -35,13 +33,16 @@ internal partial class AppServicePlansOperations : IServiceOperations /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal AppServicePlansOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,12 +51,15 @@ internal AppServicePlansOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Gets all App Service Plans for a subcription + /// Get all App Service plans for a subcription. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all App Service plans for a subcription. + /// /// - /// False to return a subset of App Service Plan properties, true to return - /// all of the properties. + /// Specify <code>true</code> to return all App Service plan + /// properties. The default is <code>false</code>, which returns a + /// subset of the properties. /// Retrieval of all properties may increase the API latency. /// /// @@ -64,12 +68,24 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task>> ListWithHttpMessagesAsync(bool? detailed = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -87,39 +103,39 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (detailed != null) { - _queryParameters.Add(string.Format("detailed={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(detailed, this.Client.SerializationSettings).Trim('"')))); + _queryParameters.Add(string.Format("detailed={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(detailed, Client.SerializationSettings).Trim('"')))); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -136,10 +152,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -147,7 +163,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -161,14 +177,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -203,9 +219,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -223,13 +239,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// Get all App Service plans in a resource group. /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// + /// Get all App Service plans in a resource group. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Headers that will be added to request. @@ -237,6 +253,18 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -246,7 +274,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -264,36 +307,36 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -310,10 +353,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -321,7 +364,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -335,14 +378,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -377,9 +420,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -397,14 +440,16 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets specified App Service Plan in a resource group + /// Get an App Service plan. /// - /// Gets specified App Service Plan in a resource group + /// + /// Get an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// Headers that will be added to request. @@ -412,6 +457,18 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -421,11 +478,26 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -444,37 +516,37 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -491,10 +563,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -502,7 +574,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -516,14 +588,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -558,9 +630,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -578,20 +650,19 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Creates or updates an App Service Plan + /// Creates or updates an App Service Plan. /// - /// Creates or updates an App Service Plan + /// + /// Creates or updates an App Service Plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Details of App Service Plan - /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan + /// Details of the App Service plan. /// /// /// The headers that will be added to request. @@ -599,31 +670,24 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// - public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync( - resourceGroupName, name, appServicePlan, allowPendingState, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); + AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, appServicePlan, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); } /// - /// Creates or updates an App Service Plan + /// Delete an App Service plan. /// - /// Creates or updates an App Service Plan + /// + /// Delete an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan - /// - /// - /// Details of App Service Plan - /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan + /// Name of the App Service plan. /// /// /// Headers that will be added to request. @@ -631,28 +695,44 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (appServicePlan == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "appServicePlan"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (appServicePlan != null) + if (name == null) { - appServicePlan.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -666,48 +746,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("appServicePlan", appServicePlan); - tracingParameters.Add("allowPendingState", allowPendingState); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (allowPendingState != null) - { - _queryParameters.Add(string.Format("allowPendingState={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(allowPendingState, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -723,17 +797,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(appServicePlan != null) - { - _requestContent = SafeJsonConvert.SerializeObject(appServicePlan, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -741,7 +809,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -749,22 +817,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -784,49 +844,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -835,14 +859,16 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Deletes a App Service Plan + /// List all capabilities of an App Service plan. /// - /// Deletes a App Service Plan + /// + /// List all capabilities of an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// Headers that will be added to request. @@ -850,20 +876,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListCapabilitiesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -879,40 +932,40 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListCapabilities", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -929,10 +982,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -940,7 +993,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -954,14 +1007,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -983,7 +1036,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -996,9 +1049,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1016,14 +1069,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// List serverfarm capabilities + /// Retrieve a Hybrid Connection in use in an App Service plan. /// - /// List serverfarm capabilities + /// + /// Retrieve a Hybrid Connection in use in an App Service plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. + /// + /// + /// Name of the Service Bus namespace. + /// + /// + /// Name of the Service Bus relay. /// /// /// Headers that will be added to request. @@ -1031,20 +1092,55 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListCapabilitiesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (namespaceName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1058,42 +1154,46 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListCapabilities", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1110,10 +1210,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1121,7 +1221,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1135,14 +1235,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1164,7 +1264,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1177,9 +1277,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1197,22 +1297,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// Delete a Hybrid Connection in use in an App Service plan. /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// + /// Delete a Hybrid Connection in use in an App Service plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay + /// Name of the Service Bus relay. /// /// /// Headers that will be added to request. @@ -1220,15 +1320,39 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -1241,7 +1365,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1259,42 +1383,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("relayName", relayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteHybridConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1311,10 +1435,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1322,7 +1446,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1330,22 +1454,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1365,31 +1481,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1398,27 +1496,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Updates an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. This will fail if the Hybrid Connection does not already - /// exist. + /// Get the send key name and value of a Hybrid Connection. /// - /// Updates an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. This will fail if the Hybrid Connection does not already - /// exist. + /// + /// Get the send key name and value of a Hybrid Connection. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// The name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay - /// - /// - /// The hybrid connection entity + /// The name of the Service Bus relay. /// /// /// Headers that will be added to request. @@ -1426,15 +1519,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connection, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListHybridConnectionKeysWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -1447,15 +1567,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } - if (connection == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "connection"); - } - if (connection != null) - { - connection.Validate(); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1471,45 +1583,44 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("namespaceName", namespaceName); tracingParameters.Add("relayName", relayName); - tracingParameters.Add("connection", connection); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateHybridConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionKeys", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1525,17 +1636,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connection != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connection, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1543,7 +1648,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1557,14 +1662,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1586,7 +1691,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1599,9 +1704,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1619,22 +1724,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Deletes an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// Deletes an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Hybrid Connection namespace. /// /// - /// The name of the Service Bus Relay + /// Name of the Hybrid Connection relay. /// /// /// Headers that will be added to request. @@ -1642,15 +1747,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebAppsByHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -1663,7 +1795,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1681,42 +1813,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("relayName", relayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteHybridConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebAppsByHybridConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1733,10 +1865,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1744,7 +1876,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1758,14 +1890,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1787,7 +1919,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1800,9 +1932,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1820,20 +1952,18 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets the send key name and value for this Hybrid Connection + /// Get the maximum number of Hybrid Connections allowed in an App Service + /// plan. /// - /// Gets the send key name and value for this Hybrid Connection + /// + /// Get the maximum number of Hybrid Connections allowed in an App Service + /// plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan - /// - /// - /// The name of the Service Bus Namespace - /// - /// - /// The name of the Service Bus Relay + /// Name of the App Service plan. /// /// /// Headers that will be added to request. @@ -1841,28 +1971,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListHybridConnectionKeysWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetHybridConnectionPlanLimitWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (namespaceName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (relayName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1876,46 +2025,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionKeys", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnectionPlanLimit", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1932,10 +2077,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1943,7 +2088,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1957,14 +2102,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1986,7 +2131,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1999,9 +2144,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2019,22 +2164,16 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets a list of sites that are using a particular Hybrid Connection on an - /// App Service Plan + /// Retrieve all Hybrid Connections in use in an App Service plan. /// - /// Gets a list of sites that are using a particular Hybrid Connection on an - /// App Service Plan + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan - /// - /// - /// The Hybrid Connection namespace - /// - /// - /// The Hybrid Connection relay name + /// Name of the App Service plan. /// /// /// Headers that will be added to request. @@ -2042,28 +2181,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListHybridConnectionWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListHybridConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (namespaceName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (relayName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2077,46 +2235,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionWebApps", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnections", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2133,10 +2287,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2144,7 +2298,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2158,14 +2312,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2187,7 +2341,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2200,9 +2354,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2220,16 +2374,18 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets the maximum number of Hybrid Connections allowed on a specified App - /// Service Plan + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. /// - /// Gets the maximum number of Hybrid Connections allowed on a specified App - /// Service Plan + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// /// Headers that will be added to request. @@ -2237,24 +2393,51 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetHybridConnectionPlanLimitWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricDefintionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-09-01"; + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-09-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2266,40 +2449,40 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnectionPlanLimit", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefintions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2316,10 +2499,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2327,7 +2510,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2341,14 +2524,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2370,7 +2553,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2383,9 +2566,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2403,16 +2586,26 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Retrieves all Service Bus Hybrid Connections in use on this App Service - /// Plan + /// Get metrics for an App Serice plan. /// - /// Retrieves all Service Bus Hybrid Connections in use on this App Service - /// Plan + /// + /// Get metrics for an App Serice plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. + /// + /// + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. + /// + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq + /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -2420,20 +2613,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListHybridConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2447,42 +2667,52 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("details", details); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnections", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetrics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2499,10 +2729,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2510,7 +2740,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2524,14 +2754,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2553,7 +2783,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2566,9 +2796,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2586,14 +2816,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// List of metrics that can be queried for an App Service Plan + /// Restart all apps in an App Service plan. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Restart all apps in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. + /// + /// + /// Specify <code>true</code> to performa a soft restart, applies + /// the configuration settings and restarts the apps if necessary. The default + /// is <code>false</code>, which always restarts and reprovisions + /// the apps /// /// /// Headers that will be added to request. @@ -2601,20 +2839,44 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricDefintionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task RestartWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2628,42 +2890,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("softRestart", softRestart); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefintions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "RestartWebApps", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (softRestart != null) + { + _queryParameters.Add(string.Format("softRestart={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(softRestart, Client.SerializationSettings).Trim('"')))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2680,10 +2947,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2691,7 +2958,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2699,22 +2966,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -2734,31 +2993,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -2767,23 +3008,29 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Queries for App Serice Plan metrics + /// Get all apps associated with an App Service plan. /// - /// Queries for App Serice Plan metrics + /// + /// Get all apps associated with an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// - /// - /// If true, metrics are broken down per App Service Plan instance + /// + /// Skip to a web app in the list of webapps associated with app service plan. + /// If specified, the resulting list will contain web apps starting from + /// (including) the skipToken. Otherwise, the resulting list contains web apps + /// from the start of the list /// /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// Supported filter: $filter=state eq running. Returns only web apps that are + /// currently running + /// + /// + /// List page size. If specified, results are paged. /// /// /// Headers that will be added to request. @@ -2791,20 +3038,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string skipToken = default(string), string filter = default(string), string top = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2818,52 +3092,57 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("details", details); + tracingParameters.Add("skipToken", skipToken); tracingParameters.Add("filter", filter); + tracingParameters.Add("top", top); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetrics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebApps", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (details != null) + if (skipToken != null) { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); + _queryParameters.Add(string.Format("$skipToken={0}", System.Uri.EscapeDataString(skipToken))); } if (filter != null) { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); + _queryParameters.Add(string.Format("$filter={0}", filter)); + } + if (top != null) + { + _queryParameters.Add(string.Format("$top={0}", System.Uri.EscapeDataString(top))); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2880,10 +3159,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2891,7 +3170,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2905,14 +3184,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2934,7 +3213,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2947,9 +3226,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2967,17 +3246,16 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets a server farm operation + /// Get all Virtual Networks associated with an App Service plan. /// - /// Gets a server farm operation + /// + /// Get all Virtual Networks associated with an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of server farm - /// - /// - /// Id of Server farm operation"&gt; + /// Name of the App Service plan. /// /// /// Headers that will be added to request. @@ -2985,24 +3263,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListVnetsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (operationId == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "operationId"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3016,44 +3317,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("operationId", operationId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetOperation", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListVnets", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{operationId}", Uri.EscapeDataString(operationId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3070,10 +3369,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3081,7 +3380,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3095,14 +3394,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3124,7 +3423,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3137,9 +3436,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3157,18 +3456,19 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Restarts web apps in a specified App Service Plan + /// Get a Virtual Network associated with an App Service plan. /// - /// Restarts web apps in a specified App Service Plan + /// + /// Get a Virtual Network associated with an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// - /// - /// Soft restart applies the configuration settings and restarts the apps if - /// necessary. Hard restart always restarts and reprovisions the apps + /// + /// Name of the Virtual Network. /// /// /// Headers that will be added to request. @@ -3176,20 +3476,51 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> RestartWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetVnetFromServerFarmWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3203,47 +3534,44 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("softRestart", softRestart); + tracingParameters.Add("vnetName", vnetName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "RestartWebApps", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetVnetFromServerFarm", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (softRestart != null) - { - _queryParameters.Add(string.Format("softRestart={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(softRestart, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3260,10 +3588,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3271,7 +3599,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3279,20 +3607,20 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3314,7 +3642,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3327,9 +3655,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3347,26 +3675,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets list of Apps associated with an App Service Plan + /// Get a Virtual Network gateway. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get a Virtual Network gateway. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan - /// - /// - /// Skip to of web apps in a list. If specified, the resulting list will - /// contain web apps starting from (including) the skipToken. Else, the - /// resulting list contains web apps from the start of the list + /// Name of the App Service plan. /// - /// - /// Supported filter: $filter=state eq running. Returns only web apps that are - /// currently running + /// + /// Name of the Virtual Network. /// - /// - /// List page size. If specified, results are paged. + /// + /// Name of the gateway. Only the 'primary' gateway is supported. /// /// /// Headers that will be added to request. @@ -3374,20 +3698,55 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string skipToken = default(string), string filter = default(string), string top = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetVnetGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (gatewayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3401,57 +3760,46 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("skipToken", skipToken); - tracingParameters.Add("filter", filter); - tracingParameters.Add("top", top); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListWebApps", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetVnetGateway", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (skipToken != null) - { - _queryParameters.Add(string.Format("$skipToken={0}", Uri.EscapeDataString(skipToken))); - } - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } - if (top != null) - { - _queryParameters.Add(string.Format("$top={0}", Uri.EscapeDataString(top))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3468,10 +3816,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3479,7 +3827,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3493,14 +3841,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3522,7 +3870,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3535,9 +3883,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3555,14 +3903,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets list of vnets associated with App Service Plan + /// Update a Virtual Network gateway. /// - /// Gets list of vnets associated with App Service Plan + /// + /// Update a Virtual Network gateway. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Only the 'primary' gateway is supported. + /// + /// + /// Definition of the gateway. /// /// /// Headers that will be added to request. @@ -3570,20 +3929,63 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListVnetsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateVnetGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (gatewayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (connectionEnvelope != null) + { + connectionEnvelope.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3597,42 +3999,47 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListVnets", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetGateway", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3648,11 +4055,17 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3660,7 +4073,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3674,14 +4087,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3703,7 +4116,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3716,9 +4129,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3736,17 +4149,21 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets a vnet associated with an App Service Plan + /// Get all routes that are associated with a Virtual Network in an App Service + /// plan. /// - /// Gets a vnet associated with an App Service Plan + /// + /// Get all routes that are associated with a Virtual Network in an App Service + /// plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// /// Headers that will be added to request. @@ -3754,15 +4171,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetVnetFromServerFarmWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListRoutesForVnetWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -3771,7 +4215,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3788,41 +4232,41 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("vnetName", vnetName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetVnetFromServerFarm", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListRoutesForVnet", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3839,10 +4283,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3850,7 +4294,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3858,20 +4302,20 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 404) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3893,7 +4337,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3906,9 +4350,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3926,20 +4370,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets the vnet gateway. + /// Get a Virtual Network route in an App Service plan. /// - /// Gets the vnet gateway. + /// + /// Get a Virtual Network route in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the App Service Plan + /// Name of the App Service plan. /// /// - /// Name of the virtual network + /// Name of the Virtual Network. /// - /// - /// Name of the gateway. Only the 'primary' gateway is supported. + /// + /// Name of the Virtual Network route. /// /// /// Headers that will be added to request. @@ -3947,15 +4393,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetVnetGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> GetRouteForVnetWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -3964,11 +4437,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (gatewayName == null) + if (routeName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "routeName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3983,45 +4456,45 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); + tracingParameters.Add("routeName", routeName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetVnetGateway", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetRouteForVnet", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{routeName}", System.Uri.EscapeDataString(routeName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4038,10 +4511,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4049,7 +4522,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4057,20 +4530,20 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4092,7 +4565,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4105,9 +4578,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4125,23 +4598,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Updates the vnet gateway + /// Create or update a Virtual Network route in an App Service plan. /// - /// Updates the vnet gateway + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the virtual network + /// Name of the Virtual Network. /// - /// - /// The name of the gateway. Only 'primary' is supported. + /// + /// Name of the Virtual Network route. /// - /// - /// The gateway entity. + /// + /// Definition of the Virtual Network route. /// /// /// Headers that will be added to request. @@ -4149,15 +4624,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateVnetGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -4166,19 +4668,19 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (gatewayName == null) + if (routeName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "routeName"); } - if (connectionEnvelope == null) + if (route == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "route"); } - if (connectionEnvelope != null) + if (route != null) { - connectionEnvelope.Validate(); + route.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4193,46 +4695,46 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); + tracingParameters.Add("routeName", routeName); + tracingParameters.Add("route", route); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetGateway", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetRoute", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{routeName}", System.Uri.EscapeDataString(routeName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4248,17 +4750,17 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) + if(route != null) { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(route, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4266,7 +4768,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4274,20 +4776,20 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 400 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4309,7 +4811,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4322,9 +4824,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4342,17 +4844,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets a list of all routes associated with a vnet, in an app service plan + /// Delete a Virtual Network route in an App Service plan. /// - /// Gets a list of all routes associated with a vnet, in an app service plan + /// + /// Delete a Virtual Network route in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. + /// + /// + /// Name of the Virtual Network route. /// /// /// Headers that will be added to request. @@ -4360,15 +4867,39 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListtRoutesForVnetWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -4377,7 +4908,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (this.Client.SubscriptionId == null) + if (routeName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "routeName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4392,43 +4927,45 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("routeName", routeName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListtRoutesForVnet", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteVnetRoute", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{routeName}", System.Uri.EscapeDataString(routeName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4445,10 +4982,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4456,7 +4993,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4464,22 +5001,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -4489,40 +5018,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } if (_shouldTrace) { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse>(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } if (_shouldTrace) { @@ -4532,20 +5043,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets a specific route associated with a vnet, in an app service plan + /// Create or update a Virtual Network route in an App Service plan. /// - /// Gets a specific route associated with a vnet, in an app service plan + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. + /// + /// + /// Definition of the Virtual Network route. /// /// /// Headers that will be added to request. @@ -4553,15 +5069,42 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetRouteForVnetWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -4574,7 +5117,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "routeName"); } - if (this.Client.SubscriptionId == null) + if (route == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "route"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4590,44 +5137,45 @@ internal AppServicePlansOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("vnetName", vnetName); tracingParameters.Add("routeName", routeName); + tracingParameters.Add("route", route); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetRouteForVnet", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetRoute", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{routeName}", Uri.EscapeDataString(routeName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{routeName}", System.Uri.EscapeDataString(routeName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4643,11 +5191,17 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(route != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(route, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4655,7 +5209,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4663,20 +5217,20 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 404) + if ((int)_statusCode != 200 && (int)_statusCode != 400 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4698,7 +5252,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4711,9 +5265,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4731,25 +5285,19 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// Reboot a worker machine in an App Service plan. /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// + /// Reboot a worker machine in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// - /// - /// Name of virtual network - /// - /// - /// Name of the virtual network route - /// - /// - /// The route object + /// + /// Name of worker machine, which typically starts with RD. /// /// /// Headers that will be added to request. @@ -4757,36 +5305,48 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task RebootWorkerWithHttpMessagesAsync(string resourceGroupName, string name, string workerName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); - } - if (routeName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "routeName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (route == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "route"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (route != null) + if (workerName == null) { - route.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "workerName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4800,47 +5360,44 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("routeName", routeName); - tracingParameters.Add("route", route); + tracingParameters.Add("workerName", workerName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetRoute", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "RebootWorker", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{routeName}", Uri.EscapeDataString(routeName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{workerName}", System.Uri.EscapeDataString(workerName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4856,17 +5413,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(route != null) - { - _requestContent = SafeJsonConvert.SerializeObject(route, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4874,7 +5425,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4882,22 +5433,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 400 && (int)_statusCode != 404) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -4917,31 +5460,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -4950,20 +5475,19 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Deletes an existing route for a vnet in an app service plan. + /// Creates or updates an App Service Plan. /// - /// Deletes an existing route for a vnet in an app service plan. + /// + /// Creates or updates an App Service Plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan - /// - /// - /// Name of virtual network + /// Name of the App Service plan. /// - /// - /// Name of the virtual network route + /// + /// Details of the App Service plan. /// /// /// Headers that will be added to request. @@ -4971,28 +5495,55 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (vnetName == null) + if (appServicePlan == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + throw new ValidationException(ValidationRules.CannotBeNull, "appServicePlan"); } - if (routeName == null) + if (appServicePlan != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "routeName"); + appServicePlan.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5006,46 +5557,43 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("routeName", routeName); + tracingParameters.Add("appServicePlan", appServicePlan); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteVnetRoute", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{routeName}", Uri.EscapeDataString(routeName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5061,11 +5609,17 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(appServicePlan != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(appServicePlan, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5073,7 +5627,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5081,20 +5635,20 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 404) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5116,7 +5670,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5129,9 +5683,27 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5149,25 +5721,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// Get all App Service plans for a subcription. /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. - /// - /// Name of resource group - /// - /// - /// Name of App Service Plan - /// - /// - /// Name of virtual network - /// - /// - /// Name of the virtual network route - /// - /// - /// The route object + /// + /// Get all App Service plans for a subcription. + /// + /// + /// The NextLink from the previous successful call to List operation. /// /// /// Headers that will be added to request. @@ -5175,36 +5735,27 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); - } - if (routeName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "routeName"); - } - if (route == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "route"); - } - if (this.Client.SubscriptionId == null) + if (nextPageLink == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); } - string apiVersion = "2016-09-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -5212,49 +5763,35 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("routeName", routeName); - tracingParameters.Add("route", route); - tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetRoute", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{routeName}", Uri.EscapeDataString(routeName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5270,17 +5807,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(route != null) - { - _requestContent = SafeJsonConvert.SerializeObject(route, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5288,7 +5819,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5296,20 +5827,20 @@ internal AppServicePlansOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 400 && (int)_statusCode != 404) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5331,7 +5862,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5344,9 +5875,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5364,17 +5895,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Submit a reboot request for a worker machine in the specified server farm + /// Get all App Service plans in a resource group. /// - /// Submit a reboot request for a worker machine in the specified server farm - /// - /// Name of resource group - /// - /// - /// Name of server farm - /// - /// - /// Name of worker machine, typically starts with RD + /// + /// Get all App Service plans in a resource group. + /// + /// + /// The NextLink from the previous successful call to List operation. /// /// /// Headers that will be added to request. @@ -5382,28 +5909,27 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> RebootWorkerWithHttpMessagesAsync(string resourceGroupName, string name, string workerName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (workerName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "workerName"); - } - if (this.Client.SubscriptionId == null) + if (nextPageLink == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); } - string apiVersion = "2016-09-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -5411,46 +5937,35 @@ internal AppServicePlansOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("workerName", workerName); - tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "RebootWorker", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroupNext", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{workerName}", Uri.EscapeDataString(workerName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5467,10 +5982,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5478,7 +5993,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5492,14 +6007,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5521,7 +6036,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5534,9 +6049,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5554,9 +6069,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets all App Service Plans for a subcription + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -5566,10 +6083,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWebAppsByHybridConnectionNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -5584,7 +6113,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListWebAppsByHybridConnectionNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -5592,25 +6121,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5627,10 +6156,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5638,7 +6167,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5652,14 +6181,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5681,7 +6210,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5694,9 +6223,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5714,11 +6243,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// Retrieve all Hybrid Connections in use in an App Service plan. /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -5728,10 +6257,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListHybridConnectionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -5746,7 +6287,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroupNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -5754,25 +6295,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5789,10 +6330,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5800,7 +6341,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5814,14 +6355,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5843,7 +6384,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5856,9 +6397,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5876,9 +6417,13 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// List of metrics that can be queried for an App Service Plan + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -5888,10 +6433,22 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricDefintionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricDefintionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -5914,25 +6471,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5949,10 +6506,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5960,7 +6517,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5974,14 +6531,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6003,7 +6560,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6016,9 +6573,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6036,9 +6593,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Queries for App Serice Plan metrics + /// Get metrics for an App Serice plan. /// - /// Queries for App Serice Plan metrics + /// + /// Get metrics for an App Serice plan. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -6048,6 +6607,18 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -6074,25 +6645,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6109,10 +6680,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6120,7 +6691,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6134,14 +6705,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6176,9 +6747,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6196,9 +6767,11 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } /// - /// Gets list of Apps associated with an App Service Plan + /// Get all apps associated with an App Service plan. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get all apps associated with an App Service plan. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -6208,6 +6781,18 @@ internal AppServicePlansOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -6234,25 +6819,25 @@ internal AppServicePlansOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6269,10 +6854,10 @@ internal AppServicePlansOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6280,7 +6865,7 @@ internal AppServicePlansOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6294,14 +6879,14 @@ internal AppServicePlansOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6336,9 +6921,9 @@ internal AppServicePlansOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6357,3 +6942,4 @@ internal AppServicePlansOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperationsExtensions.cs index 77e5690fa377..fd55ac49c93a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/AppServicePlansOperationsExtensions.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Collections; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for AppServicePlansOperations. @@ -23,32 +24,38 @@ namespace Microsoft.Azure.Management.WebSites public static partial class AppServicePlansOperationsExtensions { /// - /// Gets all App Service Plans for a subcription + /// Get all App Service plans for a subcription. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all App Service plans for a subcription. + /// /// /// The operations group for this extension method. /// /// - /// False to return a subset of App Service Plan properties, true to return - /// all of the properties. + /// Specify <code>true</code> to return all App Service plan + /// properties. The default is <code>false</code>, which returns a + /// subset of the properties. /// Retrieval of all properties may increase the API latency. /// public static IPage List(this IAppServicePlansOperations operations, bool? detailed = default(bool?)) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListAsync(detailed), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync(detailed).GetAwaiter().GetResult(); } /// - /// Gets all App Service Plans for a subcription + /// Get all App Service plans for a subcription. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all App Service plans for a subcription. + /// /// /// The operations group for this extension method. /// /// - /// False to return a subset of App Service Plan properties, true to return - /// all of the properties. + /// Specify <code>true</code> to return all App Service plan + /// properties. The default is <code>false</code>, which returns a + /// subset of the properties. /// Retrieval of all properties may increase the API latency. /// /// @@ -63,33 +70,33 @@ public static partial class AppServicePlansOperationsExtensions } /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// Get all App Service plans in a resource group. /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// + /// Get all App Service plans in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// public static IPage ListByResourceGroup(this IAppServicePlansOperations operations, string resourceGroupName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListByResourceGroupAsync(resourceGroupName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupAsync(resourceGroupName).GetAwaiter().GetResult(); } /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// Get all App Service plans in a resource group. /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// + /// Get all App Service plans in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// The cancellation token. @@ -103,35 +110,39 @@ public static IPage ListByResourceGroup(this IAppServicePlansOpe } /// - /// Gets specified App Service Plan in a resource group + /// Get an App Service plan. /// - /// Gets specified App Service Plan in a resource group + /// + /// Get an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// public static AppServicePlan Get(this IAppServicePlansOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).GetAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets specified App Service Plan in a resource group + /// Get an App Service plan. /// - /// Gets specified App Service Plan in a resource group + /// + /// Get an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The cancellation token. @@ -145,185 +156,134 @@ public static AppServicePlan Get(this IAppServicePlansOperations operations, str } /// - /// Creates or updates an App Service Plan - /// - /// Creates or updates an App Service Plan - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of App Service Plan - /// - /// - /// Details of App Service Plan - /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan - /// - public static AppServicePlan CreateOrUpdate(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?)) - { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).CreateOrUpdateAsync(resourceGroupName, name, appServicePlan, allowPendingState), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Creates or updates an App Service Plan - /// - /// Creates or updates an App Service Plan - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of App Service Plan - /// - /// - /// Details of App Service Plan - /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan - /// - /// - /// The cancellation token. - /// - public static async Task CreateOrUpdateAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, appServicePlan, allowPendingState, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Creates or updates an App Service Plan + /// Creates or updates an App Service Plan. /// - /// Creates or updates an App Service Plan + /// + /// Creates or updates an App Service Plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Details of App Service Plan + /// Details of the App Service plan. /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan - /// - public static AppServicePlan BeginCreateOrUpdate(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?)) + public static AppServicePlan CreateOrUpdate(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).BeginCreateOrUpdateAsync(resourceGroupName, name, appServicePlan, allowPendingState), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateAsync(resourceGroupName, name, appServicePlan).GetAwaiter().GetResult(); } /// - /// Creates or updates an App Service Plan + /// Creates or updates an App Service Plan. /// - /// Creates or updates an App Service Plan + /// + /// Creates or updates an App Service Plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Details of App Service Plan - /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan + /// Details of the App Service plan. /// /// /// The cancellation token. /// - public static async Task BeginCreateOrUpdateAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, appServicePlan, allowPendingState, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, appServicePlan, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Deletes a App Service Plan + /// Delete an App Service plan. /// - /// Deletes a App Service Plan + /// + /// Delete an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// - public static object Delete(this IAppServicePlansOperations operations, string resourceGroupName, string name) + public static void Delete(this IAppServicePlansOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).DeleteAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Deletes a App Service Plan + /// Delete an App Service plan. /// - /// Deletes a App Service Plan + /// + /// Delete an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The cancellation token. /// - public static async Task DeleteAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// List serverfarm capabilities + /// List all capabilities of an App Service plan. /// - /// List serverfarm capabilities + /// + /// List all capabilities of an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// public static IList ListCapabilities(this IAppServicePlansOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListCapabilitiesAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListCapabilitiesAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// List serverfarm capabilities + /// List all capabilities of an App Service plan. /// - /// List serverfarm capabilities + /// + /// List all capabilities of an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// /// The cancellation token. @@ -337,51 +297,51 @@ public static IList ListCapabilities(this IAppServicePlansOperations } /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// Retrieve a Hybrid Connection in use in an App Service plan. /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// + /// Retrieve a Hybrid Connection in use in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay + /// Name of the Service Bus relay. /// public static HybridConnection GetHybridConnection(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).GetHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult(); } /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// Retrieve a Hybrid Connection in use in an App Service plan. /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// + /// Retrieve a Hybrid Connection in use in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay + /// Name of the Service Bus relay. /// /// /// The cancellation token. @@ -395,173 +355,106 @@ public static HybridConnection GetHybridConnection(this IAppServicePlansOperatio } /// - /// Updates an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. This will fail if the Hybrid Connection does not already - /// exist. + /// Delete a Hybrid Connection in use in an App Service plan. /// - /// Updates an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. This will fail if the Hybrid Connection does not already - /// exist. + /// + /// Delete a Hybrid Connection in use in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay + /// Name of the Service Bus relay. /// - /// - /// The hybrid connection entity - /// - public static HybridConnection UpdateHybridConnection(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connection) + public static void DeleteHybridConnection(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).UpdateHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName, connection), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult(); } /// - /// Updates an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. This will fail if the Hybrid Connection does not already - /// exist. + /// Delete a Hybrid Connection in use in an App Service plan. /// - /// Updates an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. This will fail if the Hybrid Connection does not already - /// exist. + /// + /// Delete a Hybrid Connection in use in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay - /// - /// - /// The hybrid connection entity + /// Name of the Service Bus relay. /// /// /// The cancellation token. /// - public static async Task UpdateHybridConnectionAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connection, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteHybridConnectionAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connection, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false); } /// - /// Deletes an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// Get the send key name and value of a Hybrid Connection. /// - /// Deletes an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. + /// + /// Get the send key name and value of a Hybrid Connection. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// The name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay - /// - public static object DeleteHybridConnection(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) - { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).DeleteHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Deletes an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. - /// - /// Deletes an existing Service Bus Hybrid Connection in use on this App - /// Service Plan. - /// - /// The operations group for this extension method. - /// - /// - /// The resource group name - /// - /// - /// The name of the App Service Plan - /// - /// - /// The name of the Service Bus Namespace - /// - /// - /// The name of the Service Bus Relay - /// - /// - /// The cancellation token. - /// - public static async Task DeleteHybridConnectionAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.DeleteHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Gets the send key name and value for this Hybrid Connection - /// - /// Gets the send key name and value for this Hybrid Connection - /// - /// The operations group for this extension method. - /// - /// - /// The resource group name - /// - /// - /// The name of the App Service Plan - /// - /// - /// The name of the Service Bus Namespace - /// - /// - /// The name of the Service Bus Relay + /// The name of the Service Bus relay. /// public static HybridConnectionKey ListHybridConnectionKeys(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListHybridConnectionKeysAsync(resourceGroupName, name, namespaceName, relayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHybridConnectionKeysAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult(); } /// - /// Gets the send key name and value for this Hybrid Connection + /// Get the send key name and value of a Hybrid Connection. /// - /// Gets the send key name and value for this Hybrid Connection + /// + /// Get the send key name and value of a Hybrid Connection. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// The name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay + /// The name of the Service Bus relay. /// /// /// The cancellation token. @@ -575,102 +468,106 @@ public static HybridConnectionKey ListHybridConnectionKeys(this IAppServicePlans } /// - /// Gets a list of sites that are using a particular Hybrid Connection on an - /// App Service Plan + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// Gets a list of sites that are using a particular Hybrid Connection on an - /// App Service Plan + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The Hybrid Connection namespace + /// Name of the Hybrid Connection namespace. /// /// - /// The Hybrid Connection relay name + /// Name of the Hybrid Connection relay. /// - public static object ListHybridConnectionWebApps(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) + public static IPage ListWebAppsByHybridConnection(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListHybridConnectionWebAppsAsync(resourceGroupName, name, namespaceName, relayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebAppsByHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult(); } /// - /// Gets a list of sites that are using a particular Hybrid Connection on an - /// App Service Plan + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// Gets a list of sites that are using a particular Hybrid Connection on an - /// App Service Plan + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The Hybrid Connection namespace + /// Name of the Hybrid Connection namespace. /// /// - /// The Hybrid Connection relay name + /// Name of the Hybrid Connection relay. /// /// /// The cancellation token. /// - public static async Task ListHybridConnectionWebAppsAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWebAppsByHybridConnectionAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHybridConnectionWebAppsWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListWebAppsByHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the maximum number of Hybrid Connections allowed on a specified App - /// Service Plan + /// Get the maximum number of Hybrid Connections allowed in an App Service + /// plan. /// - /// Gets the maximum number of Hybrid Connections allowed on a specified App - /// Service Plan + /// + /// Get the maximum number of Hybrid Connections allowed in an App Service + /// plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// - public static object GetHybridConnectionPlanLimit(this IAppServicePlansOperations operations, string resourceGroupName, string name) + public static HybridConnectionLimits GetHybridConnectionPlanLimit(this IAppServicePlansOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).GetHybridConnectionPlanLimitAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetHybridConnectionPlanLimitAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the maximum number of Hybrid Connections allowed on a specified App - /// Service Plan + /// Get the maximum number of Hybrid Connections allowed in an App Service + /// plan. /// - /// Gets the maximum number of Hybrid Connections allowed on a specified App - /// Service Plan + /// + /// Get the maximum number of Hybrid Connections allowed in an App Service + /// plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// /// The cancellation token. /// - public static async Task GetHybridConnectionPlanLimitAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetHybridConnectionPlanLimitAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.GetHybridConnectionPlanLimitWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { @@ -679,44 +576,44 @@ public static object GetHybridConnectionPlanLimit(this IAppServicePlansOperation } /// - /// Retrieves all Service Bus Hybrid Connections in use on this App Service - /// Plan + /// Retrieve all Hybrid Connections in use in an App Service plan. /// - /// Retrieves all Service Bus Hybrid Connections in use on this App Service - /// Plan + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// - public static HybridConnection ListHybridConnections(this IAppServicePlansOperations operations, string resourceGroupName, string name) + public static IPage ListHybridConnections(this IAppServicePlansOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListHybridConnectionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHybridConnectionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Retrieves all Service Bus Hybrid Connections in use on this App Service - /// Plan + /// Retrieve all Hybrid Connections in use in an App Service plan. /// - /// Retrieves all Service Bus Hybrid Connections in use on this App Service - /// Plan + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// /// The cancellation token. /// - public static async Task ListHybridConnectionsAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListHybridConnectionsAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListHybridConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { @@ -725,40 +622,48 @@ public static HybridConnection ListHybridConnections(this IAppServicePlansOperat } /// - /// List of metrics that can be queried for an App Service Plan + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// - public static IPage ListMetricDefintions(this IAppServicePlansOperations operations, string resourceGroupName, string name) + public static IPage ListMetricDefintions(this IAppServicePlansOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListMetricDefintionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricDefintionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// List of metrics that can be queried for an App Service Plan + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The cancellation token. /// - public static async Task> ListMetricDefintionsAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMetricDefintionsAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMetricDefintionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { @@ -767,20 +672,23 @@ public static IPage ListMetricDefintions(this IAppServicePlans } /// - /// Queries for App Serice Plan metrics + /// Get metrics for an App Serice plan. /// - /// Queries for App Serice Plan metrics + /// + /// Get metrics for an App Serice plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// If true, metrics are broken down per App Service Plan instance + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -790,24 +698,27 @@ public static IPage ListMetricDefintions(this IAppServicePlans /// public static IPage ListMetrics(this IAppServicePlansOperations operations, string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListMetricsAsync(resourceGroupName, name, details, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsAsync(resourceGroupName, name, details, filter).GetAwaiter().GetResult(); } /// - /// Queries for App Serice Plan metrics + /// Get metrics for an App Serice plan. /// - /// Queries for App Serice Plan metrics + /// + /// Get metrics for an App Serice plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// If true, metrics are broken down per App Service Plan instance + /// Specify <code>true</code> to include instance details. The + /// default is <code>false</code>. /// /// /// Return only usages/metrics specified in the filter. Filter conforms to @@ -827,120 +738,80 @@ public static IPage ListMetricDefintions(this IAppServicePlans } /// - /// Gets a server farm operation - /// - /// Gets a server farm operation - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of server farm - /// - /// - /// Id of Server farm operation"&gt; - /// - public static AppServicePlan GetOperation(this IAppServicePlansOperations operations, string resourceGroupName, string name, string operationId) - { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).GetOperationAsync(resourceGroupName, name, operationId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Gets a server farm operation - /// - /// Gets a server farm operation - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of server farm - /// - /// - /// Id of Server farm operation"&gt; - /// - /// - /// The cancellation token. - /// - public static async Task GetOperationAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string operationId, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetOperationWithHttpMessagesAsync(resourceGroupName, name, operationId, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Restarts web apps in a specified App Service Plan + /// Restart all apps in an App Service plan. /// - /// Restarts web apps in a specified App Service Plan + /// + /// Restart all apps in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Soft restart applies the configuration settings and restarts the apps if - /// necessary. Hard restart always restarts and reprovisions the apps + /// Specify <code>true</code> to performa a soft restart, applies + /// the configuration settings and restarts the apps if necessary. The default + /// is <code>false</code>, which always restarts and reprovisions + /// the apps /// - public static object RestartWebApps(this IAppServicePlansOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?)) + public static void RestartWebApps(this IAppServicePlansOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?)) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).RestartWebAppsAsync(resourceGroupName, name, softRestart), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RestartWebAppsAsync(resourceGroupName, name, softRestart).GetAwaiter().GetResult(); } /// - /// Restarts web apps in a specified App Service Plan + /// Restart all apps in an App Service plan. /// - /// Restarts web apps in a specified App Service Plan + /// + /// Restart all apps in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Soft restart applies the configuration settings and restarts the apps if - /// necessary. Hard restart always restarts and reprovisions the apps + /// Specify <code>true</code> to performa a soft restart, applies + /// the configuration settings and restarts the apps if necessary. The default + /// is <code>false</code>, which always restarts and reprovisions + /// the apps /// /// /// The cancellation token. /// - public static async Task RestartWebAppsAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RestartWebAppsAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RestartWebAppsWithHttpMessagesAsync(resourceGroupName, name, softRestart, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.RestartWebAppsWithHttpMessagesAsync(resourceGroupName, name, softRestart, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets list of Apps associated with an App Service Plan + /// Get all apps associated with an App Service plan. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get all apps associated with an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Skip to of web apps in a list. If specified, the resulting list will - /// contain web apps starting from (including) the skipToken. Else, the - /// resulting list contains web apps from the start of the list + /// Skip to a web app in the list of webapps associated with app service plan. + /// If specified, the resulting list will contain web apps starting from + /// (including) the skipToken. Otherwise, the resulting list contains web apps + /// from the start of the list /// /// /// Supported filter: $filter=state eq running. Returns only web apps that are @@ -951,26 +822,29 @@ public static AppServicePlan GetOperation(this IAppServicePlansOperations operat /// public static IPage ListWebApps(this IAppServicePlansOperations operations, string resourceGroupName, string name, string skipToken = default(string), string filter = default(string), string top = default(string)) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListWebAppsAsync(resourceGroupName, name, skipToken, filter, top), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebAppsAsync(resourceGroupName, name, skipToken, filter, top).GetAwaiter().GetResult(); } /// - /// Gets list of Apps associated with an App Service Plan + /// Get all apps associated with an App Service plan. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get all apps associated with an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Skip to of web apps in a list. If specified, the resulting list will - /// contain web apps starting from (including) the skipToken. Else, the - /// resulting list contains web apps from the start of the list + /// Skip to a web app in the list of webapps associated with app service plan. + /// If specified, the resulting list will contain web apps starting from + /// (including) the skipToken. Otherwise, the resulting list contains web apps + /// from the start of the list /// /// /// Supported filter: $filter=state eq running. Returns only web apps that are @@ -991,35 +865,39 @@ public static AppServicePlan GetOperation(this IAppServicePlansOperations operat } /// - /// Gets list of vnets associated with App Service Plan + /// Get all Virtual Networks associated with an App Service plan. /// - /// Gets list of vnets associated with App Service Plan + /// + /// Get all Virtual Networks associated with an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// public static IList ListVnets(this IAppServicePlansOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListVnetsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListVnetsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets list of vnets associated with App Service Plan + /// Get all Virtual Networks associated with an App Service plan. /// - /// Gets list of vnets associated with App Service Plan + /// + /// Get all Virtual Networks associated with an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The cancellation token. @@ -1033,41 +911,45 @@ public static IList ListVnets(this IAppServicePlansOperations operatio } /// - /// Gets a vnet associated with an App Service Plan + /// Get a Virtual Network associated with an App Service plan. /// - /// Gets a vnet associated with an App Service Plan + /// + /// Get a Virtual Network associated with an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// public static VnetInfo GetVnetFromServerFarm(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).GetVnetFromServerFarmAsync(resourceGroupName, name, vnetName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetVnetFromServerFarmAsync(resourceGroupName, name, vnetName).GetAwaiter().GetResult(); } /// - /// Gets a vnet associated with an App Service Plan + /// Get a Virtual Network associated with an App Service plan. /// - /// Gets a vnet associated with an App Service Plan + /// + /// Get a Virtual Network associated with an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// /// The cancellation token. @@ -1081,44 +963,48 @@ public static VnetInfo GetVnetFromServerFarm(this IAppServicePlansOperations ope } /// - /// Gets the vnet gateway. + /// Get a Virtual Network gateway. /// - /// Gets the vnet gateway. + /// + /// Get a Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the App Service Plan + /// Name of the App Service plan. /// /// - /// Name of the virtual network + /// Name of the Virtual Network. /// /// /// Name of the gateway. Only the 'primary' gateway is supported. /// public static VnetGateway GetVnetGateway(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).GetVnetGatewayAsync(resourceGroupName, name, vnetName, gatewayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetVnetGatewayAsync(resourceGroupName, name, vnetName, gatewayName).GetAwaiter().GetResult(); } /// - /// Gets the vnet gateway. + /// Get a Virtual Network gateway. /// - /// Gets the vnet gateway. + /// + /// Get a Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the App Service Plan + /// Name of the App Service plan. /// /// - /// Name of the virtual network + /// Name of the Virtual Network. /// /// /// Name of the gateway. Only the 'primary' gateway is supported. @@ -1135,53 +1021,57 @@ public static VnetGateway GetVnetGateway(this IAppServicePlansOperations operati } /// - /// Updates the vnet gateway + /// Update a Virtual Network gateway. /// - /// Updates the vnet gateway + /// + /// Update a Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the virtual network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. Only 'primary' is supported. + /// Name of the gateway. Only the 'primary' gateway is supported. /// /// - /// The gateway entity. + /// Definition of the gateway. /// public static VnetGateway UpdateVnetGateway(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).UpdateVnetGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateVnetGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Updates the vnet gateway + /// Update a Virtual Network gateway. /// - /// Updates the vnet gateway + /// + /// Update a Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the virtual network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. Only 'primary' is supported. + /// Name of the gateway. Only the 'primary' gateway is supported. /// /// - /// The gateway entity. + /// Definition of the gateway. /// /// /// The cancellation token. @@ -1195,95 +1085,107 @@ public static VnetGateway UpdateVnetGateway(this IAppServicePlansOperations oper } /// - /// Gets a list of all routes associated with a vnet, in an app service plan + /// Get all routes that are associated with a Virtual Network in an App Service + /// plan. /// - /// Gets a list of all routes associated with a vnet, in an app service plan + /// + /// Get all routes that are associated with a Virtual Network in an App Service + /// plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// - public static IList ListtRoutesForVnet(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName) + public static IList ListRoutesForVnet(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListtRoutesForVnetAsync(resourceGroupName, name, vnetName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListRoutesForVnetAsync(resourceGroupName, name, vnetName).GetAwaiter().GetResult(); } /// - /// Gets a list of all routes associated with a vnet, in an app service plan + /// Get all routes that are associated with a Virtual Network in an App Service + /// plan. /// - /// Gets a list of all routes associated with a vnet, in an app service plan + /// + /// Get all routes that are associated with a Virtual Network in an App Service + /// plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// /// The cancellation token. /// - public static async Task> ListtRoutesForVnetAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListRoutesForVnetAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListtRoutesForVnetWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListRoutesForVnetWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets a specific route associated with a vnet, in an app service plan + /// Get a Virtual Network route in an App Service plan. /// - /// Gets a specific route associated with a vnet, in an app service plan + /// + /// Get a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// public static IList GetRouteForVnet(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string routeName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).GetRouteForVnetAsync(resourceGroupName, name, vnetName, routeName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetRouteForVnetAsync(resourceGroupName, name, vnetName, routeName).GetAwaiter().GetResult(); } /// - /// Gets a specific route associated with a vnet, in an app service plan + /// Get a Virtual Network route in an App Service plan. /// - /// Gets a specific route associated with a vnet, in an app service plan + /// + /// Get a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// /// The cancellation token. @@ -1297,57 +1199,57 @@ public static IList GetRouteForVnet(this IAppServicePlansOperations o } /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// Create or update a Virtual Network route in an App Service plan. /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// - /// The route object + /// Definition of the Virtual Network route. /// public static VnetRoute CreateOrUpdateVnetRoute(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).CreateOrUpdateVnetRouteAsync(resourceGroupName, name, vnetName, routeName, route), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateVnetRouteAsync(resourceGroupName, name, vnetName, routeName, route).GetAwaiter().GetResult(); } /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// Create or update a Virtual Network route in an App Service plan. /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// - /// The route object + /// Definition of the Virtual Network route. /// /// /// The cancellation token. @@ -1361,111 +1263,112 @@ public static VnetRoute CreateOrUpdateVnetRoute(this IAppServicePlansOperations } /// - /// Deletes an existing route for a vnet in an app service plan. + /// Delete a Virtual Network route in an App Service plan. /// - /// Deletes an existing route for a vnet in an app service plan. + /// + /// Delete a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// - public static object DeleteVnetRoute(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string routeName) + public static void DeleteVnetRoute(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string routeName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).DeleteVnetRouteAsync(resourceGroupName, name, vnetName, routeName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteVnetRouteAsync(resourceGroupName, name, vnetName, routeName).GetAwaiter().GetResult(); } /// - /// Deletes an existing route for a vnet in an app service plan. + /// Delete a Virtual Network route in an App Service plan. /// - /// Deletes an existing route for a vnet in an app service plan. + /// + /// Delete a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// /// The cancellation token. /// - public static async Task DeleteVnetRouteAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string routeName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteVnetRouteAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string routeName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteVnetRouteWithHttpMessagesAsync(resourceGroupName, name, vnetName, routeName, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteVnetRouteWithHttpMessagesAsync(resourceGroupName, name, vnetName, routeName, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// Create or update a Virtual Network route in an App Service plan. /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// - /// The route object + /// Definition of the Virtual Network route. /// public static VnetRoute UpdateVnetRoute(this IAppServicePlansOperations operations, string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).UpdateVnetRouteAsync(resourceGroupName, name, vnetName, routeName, route), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateVnetRouteAsync(resourceGroupName, name, vnetName, routeName, route).GetAwaiter().GetResult(); } /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// Create or update a Virtual Network route in an App Service plan. /// - /// Creates a new route or updates an existing route for a vnet in an app - /// service plan. + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// - /// The route object + /// Definition of the Virtual Network route. /// /// /// The cancellation token. @@ -1479,57 +1382,112 @@ public static VnetRoute UpdateVnetRoute(this IAppServicePlansOperations operatio } /// - /// Submit a reboot request for a worker machine in the specified server farm + /// Reboot a worker machine in an App Service plan. /// - /// Submit a reboot request for a worker machine in the specified server farm + /// + /// Reboot a worker machine in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of server farm + /// Name of the App Service plan. /// /// - /// Name of worker machine, typically starts with RD + /// Name of worker machine, which typically starts with RD. /// - public static object RebootWorker(this IAppServicePlansOperations operations, string resourceGroupName, string name, string workerName) + public static void RebootWorker(this IAppServicePlansOperations operations, string resourceGroupName, string name, string workerName) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).RebootWorkerAsync(resourceGroupName, name, workerName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RebootWorkerAsync(resourceGroupName, name, workerName).GetAwaiter().GetResult(); } /// - /// Submit a reboot request for a worker machine in the specified server farm + /// Reboot a worker machine in an App Service plan. /// - /// Submit a reboot request for a worker machine in the specified server farm + /// + /// Reboot a worker machine in an App Service plan. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of server farm + /// Name of the App Service plan. /// /// - /// Name of worker machine, typically starts with RD + /// Name of worker machine, which typically starts with RD. + /// + /// + /// The cancellation token. + /// + public static async Task RebootWorkerAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string workerName, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.RebootWorkerWithHttpMessagesAsync(resourceGroupName, name, workerName, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Creates or updates an App Service Plan. + /// + /// + /// Creates or updates an App Service Plan. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service plan. + /// + /// + /// Details of the App Service plan. + /// + public static AppServicePlan BeginCreateOrUpdate(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan) + { + return operations.BeginCreateOrUpdateAsync(resourceGroupName, name, appServicePlan).GetAwaiter().GetResult(); + } + + /// + /// Creates or updates an App Service Plan. + /// + /// + /// Creates or updates an App Service Plan. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service plan. + /// + /// + /// Details of the App Service plan. /// /// /// The cancellation token. /// - public static async Task RebootWorkerAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, string workerName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginCreateOrUpdateAsync(this IAppServicePlansOperations operations, string resourceGroupName, string name, AppServicePlan appServicePlan, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RebootWorkerWithHttpMessagesAsync(resourceGroupName, name, workerName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, appServicePlan, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets all App Service Plans for a subcription + /// Get all App Service plans for a subcription. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all App Service plans for a subcription. + /// /// /// The operations group for this extension method. /// @@ -1538,13 +1496,15 @@ public static object RebootWorker(this IAppServicePlansOperations operations, st /// public static IPage ListNext(this IAppServicePlansOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets all App Service Plans for a subcription + /// Get all App Service plans for a subcription. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all App Service plans for a subcription. + /// /// /// The operations group for this extension method. /// @@ -1563,11 +1523,11 @@ public static IPage ListNext(this IAppServicePlansOperations ope } /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// Get all App Service plans in a resource group. /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// + /// Get all App Service plans in a resource group. + /// /// /// The operations group for this extension method. /// @@ -1576,15 +1536,15 @@ public static IPage ListNext(this IAppServicePlansOperations ope /// public static IPage ListByResourceGroupNext(this IAppServicePlansOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListByResourceGroupNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// Get all App Service plans in a resource group. /// - /// Gets collection of App Service Plans in a resource group for a given - /// subscription. + /// + /// Get all App Service plans in a resource group. + /// /// /// The operations group for this extension method. /// @@ -1603,24 +1563,28 @@ public static IPage ListByResourceGroupNext(this IAppServicePlan } /// - /// List of metrics that can be queried for an App Service Plan + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListMetricDefintionsNext(this IAppServicePlansOperations operations, string nextPageLink) + public static IPage ListWebAppsByHybridConnectionNext(this IAppServicePlansOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListMetricDefintionsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebAppsByHybridConnectionNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// List of metrics that can be queried for an App Service Plan + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// /// The operations group for this extension method. /// @@ -1630,7 +1594,91 @@ public static IPage ListMetricDefintionsNext(this IAppServiceP /// /// The cancellation token. /// - public static async Task> ListMetricDefintionsNextAsync(this IAppServicePlansOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListWebAppsByHybridConnectionNextAsync(this IAppServicePlansOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListWebAppsByHybridConnectionNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListHybridConnectionsNext(this IAppServicePlansOperations operations, string nextPageLink) + { + return operations.ListHybridConnectionsNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListHybridConnectionsNextAsync(this IAppServicePlansOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListHybridConnectionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListMetricDefintionsNext(this IAppServicePlansOperations operations, string nextPageLink) + { + return operations.ListMetricDefintionsNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListMetricDefintionsNextAsync(this IAppServicePlansOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMetricDefintionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { @@ -1639,9 +1687,11 @@ public static IPage ListMetricDefintionsNext(this IAppServiceP } /// - /// Queries for App Serice Plan metrics + /// Get metrics for an App Serice plan. /// - /// Queries for App Serice Plan metrics + /// + /// Get metrics for an App Serice plan. + /// /// /// The operations group for this extension method. /// @@ -1650,13 +1700,15 @@ public static IPage ListMetricDefintionsNext(this IAppServiceP /// public static IPage ListMetricsNext(this IAppServicePlansOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListMetricsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Queries for App Serice Plan metrics + /// Get metrics for an App Serice plan. /// - /// Queries for App Serice Plan metrics + /// + /// Get metrics for an App Serice plan. + /// /// /// The operations group for this extension method. /// @@ -1675,9 +1727,11 @@ public static IPage ListMetricsNext(this IAppServicePlansOperati } /// - /// Gets list of Apps associated with an App Service Plan + /// Get all apps associated with an App Service plan. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get all apps associated with an App Service plan. + /// /// /// The operations group for this extension method. /// @@ -1686,13 +1740,15 @@ public static IPage ListMetricsNext(this IAppServicePlansOperati /// public static IPage ListWebAppsNext(this IAppServicePlansOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IAppServicePlansOperations)s).ListWebAppsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListWebAppsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets list of Apps associated with an App Service Plan + /// Get all apps associated with an App Service plan. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get all apps associated with an App Service plan. + /// /// /// The operations group for this extension method. /// @@ -1712,3 +1768,4 @@ public static IPage ListWebAppsNext(this IAppServicePlansOperations operat } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperations.cs index 4e0109996fc8..57acda3b4d8c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperations.cs @@ -1,28 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// CertificatesOperations operations. @@ -35,13 +33,16 @@ internal partial class CertificatesOperations : IServiceOperations /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal CertificatesOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,21 +51,35 @@ internal CertificatesOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -81,35 +96,35 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -126,10 +141,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -137,7 +152,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -151,14 +166,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -193,9 +208,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -213,11 +228,13 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Get certificates for a subscription in the specified resource group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource group. + /// + /// Get all certificates in a resource group. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Headers that will be added to request. @@ -225,6 +242,18 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -234,7 +263,22 @@ internal CertificatesOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -252,36 +296,36 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -298,10 +342,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -309,7 +353,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -323,14 +367,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -365,9 +409,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -385,13 +429,13 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Get a certificate by certificate name for a subscription in the specified - /// resource group. + /// Get a certificate. /// - /// Get a certificate by certificate name for a subscription in the specified - /// resource group. + /// + /// Get a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. @@ -402,6 +446,18 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -411,11 +467,26 @@ internal CertificatesOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -434,37 +505,37 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -481,10 +552,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -492,7 +563,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -506,14 +577,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -548,9 +619,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -568,17 +639,19 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// /// /// Headers that will be added to request. @@ -586,6 +659,18 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -595,6 +680,21 @@ internal CertificatesOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -607,7 +707,7 @@ internal CertificatesOperations(WebSiteManagementClient client) { certificateEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -627,37 +727,37 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -675,15 +775,15 @@ internal CertificatesOperations(WebSiteManagementClient client) string _requestContent = null; if(certificateEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(certificateEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(certificateEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -691,7 +791,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -705,14 +805,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -747,9 +847,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -767,16 +867,16 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// Delete a certificate. /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// + /// Delete a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate to be deleted. + /// Name of the certificate. /// /// /// Headers that will be added to request. @@ -784,20 +884,44 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -816,37 +940,37 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -863,10 +987,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -874,7 +998,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -882,22 +1006,14 @@ internal CertificatesOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -917,31 +1033,13 @@ internal CertificatesOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -950,17 +1048,19 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// /// /// Headers that will be added to request. @@ -968,6 +1068,18 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -977,6 +1089,21 @@ internal CertificatesOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -985,7 +1112,7 @@ internal CertificatesOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "certificateEnvelope"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1005,37 +1132,37 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "Update", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1053,15 +1180,15 @@ internal CertificatesOperations(WebSiteManagementClient client) string _requestContent = null; if(certificateEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(certificateEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(certificateEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1069,7 +1196,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1083,14 +1210,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1125,9 +1252,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1145,13 +1272,13 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Gets the certificate signing requests for a subscription in the specified - /// resource group + /// Get all certificate signing requests in a resource group. /// - /// Gets the certificate signing requests for a subscription in the specified - /// resource group + /// + /// Get all certificate signing requests in a resource group. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Headers that will be added to request. @@ -1159,16 +1286,43 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListCsrsWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListSigningRequestByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1183,39 +1337,39 @@ internal CertificatesOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListCsrs", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSigningRequestByResourceGroup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1232,10 +1386,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1243,7 +1397,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1257,14 +1411,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1286,7 +1440,7 @@ internal CertificatesOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1299,9 +1453,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1319,16 +1473,16 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Gets a certificate signing request by certificate name for a subscription - /// in the specified resource group + /// Get a certificate signing request. /// - /// Gets a certificate signing request by certificate name for a subscription - /// in the specified resource group + /// + /// Get a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// /// Headers that will be added to request. @@ -1336,20 +1490,47 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetCsrWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1365,40 +1546,40 @@ internal CertificatesOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetCsr", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetSigningRequest", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1415,10 +1596,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1426,7 +1607,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1440,14 +1621,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1482,9 +1663,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1502,17 +1683,19 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// /// /// Headers that will be added to request. @@ -1520,15 +1703,42 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateCsrWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -1541,7 +1751,7 @@ internal CertificatesOperations(WebSiteManagementClient client) { csrEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1558,40 +1768,40 @@ internal CertificatesOperations(WebSiteManagementClient client) tracingParameters.Add("csrEnvelope", csrEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateCsr", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateSigningRequest", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1609,15 +1819,15 @@ internal CertificatesOperations(WebSiteManagementClient client) string _requestContent = null; if(csrEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(csrEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(csrEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1625,7 +1835,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1639,14 +1849,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1681,9 +1891,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1701,11 +1911,13 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Delete the certificate signing request. + /// Delete a certificate signing request. /// - /// Delete the certificate signing request. + /// + /// Delete a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate signing request. @@ -1716,20 +1928,44 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteCsrWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1745,40 +1981,40 @@ internal CertificatesOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteCsr", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteSigningRequest", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1795,10 +2031,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1806,7 +2042,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1814,22 +2050,14 @@ internal CertificatesOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1849,31 +2077,13 @@ internal CertificatesOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1882,17 +2092,19 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// /// /// Headers that will be added to request. @@ -1900,15 +2112,42 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateCsrWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -1917,7 +2156,7 @@ internal CertificatesOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "csrEnvelope"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1934,40 +2173,40 @@ internal CertificatesOperations(WebSiteManagementClient client) tracingParameters.Add("csrEnvelope", csrEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateCsr", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateSigningRequest", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1985,15 +2224,15 @@ internal CertificatesOperations(WebSiteManagementClient client) string _requestContent = null; if(csrEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(csrEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(csrEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2001,7 +2240,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2015,14 +2254,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2057,9 +2296,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2077,9 +2316,11 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -2089,6 +2330,18 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -2115,25 +2368,25 @@ internal CertificatesOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2150,10 +2403,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2161,7 +2414,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2175,14 +2428,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2217,9 +2470,9 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2237,9 +2490,11 @@ internal CertificatesOperations(WebSiteManagementClient client) } /// - /// Get certificates for a subscription in the specified resource group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource group. + /// + /// Get all certificates in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -2249,6 +2504,18 @@ internal CertificatesOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -2275,25 +2542,25 @@ internal CertificatesOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2310,10 +2577,10 @@ internal CertificatesOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2321,7 +2588,7 @@ internal CertificatesOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2335,14 +2602,14 @@ internal CertificatesOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2377,9 +2644,183 @@ internal CertificatesOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListSigningRequestByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListSigningRequestByResourceGroupNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2398,3 +2839,4 @@ internal CertificatesOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperationsExtensions.cs index a0ff7dbc9756..7797ddf7b356 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/CertificatesOperationsExtensions.cs @@ -1,21 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Collections; - using System.Collections.Generic; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for CertificatesOperations. @@ -23,21 +22,25 @@ namespace Microsoft.Azure.Management.WebSites public static partial class CertificatesOperationsExtensions { /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// The operations group for this extension method. /// public static IPage List(this ICertificatesOperations operations) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).ListAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync().GetAwaiter().GetResult(); } /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// The operations group for this extension method. /// @@ -53,29 +56,33 @@ public static IPage List(this ICertificatesOperations operations) } /// - /// Get certificates for a subscription in the specified resource group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource group. + /// + /// Get all certificates in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// public static IPage ListByResourceGroup(this ICertificatesOperations operations, string resourceGroupName) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).ListByResourceGroupAsync(resourceGroupName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupAsync(resourceGroupName).GetAwaiter().GetResult(); } /// - /// Get certificates for a subscription in the specified resource group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource group. + /// + /// Get all certificates in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// The cancellation token. @@ -89,36 +96,36 @@ public static IPage ListByResourceGroup(this ICertificatesOperation } /// - /// Get a certificate by certificate name for a subscription in the specified - /// resource group. + /// Get a certificate. /// - /// Get a certificate by certificate name for a subscription in the specified - /// resource group. + /// + /// Get a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// public static Certificate Get(this ICertificatesOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).GetAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get a certificate by certificate name for a subscription in the specified - /// resource group. + /// Get a certificate. /// - /// Get a certificate by certificate name for a subscription in the specified - /// resource group. + /// + /// Get a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. @@ -135,41 +142,45 @@ public static Certificate Get(this ICertificatesOperations operations, string re } /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// public static Certificate CreateOrUpdate(this ICertificatesOperations operations, string resourceGroupName, string name, Certificate certificateEnvelope) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).CreateOrUpdateAsync(resourceGroupName, name, certificateEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateAsync(resourceGroupName, name, certificateEnvelope).GetAwaiter().GetResult(); } /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// /// /// The cancellation token. @@ -183,87 +194,88 @@ public static Certificate CreateOrUpdate(this ICertificatesOperations operations } /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// Delete a certificate. /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// + /// Delete a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate to be deleted. + /// Name of the certificate. /// - public static object Delete(this ICertificatesOperations operations, string resourceGroupName, string name) + public static void Delete(this ICertificatesOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).DeleteAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// Delete a certificate. /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// + /// Delete a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate to be deleted. + /// Name of the certificate. /// /// /// The cancellation token. /// - public static async Task DeleteAsync(this ICertificatesOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteAsync(this ICertificatesOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// public static Certificate Update(this ICertificatesOperations operations, string resourceGroupName, string name, Certificate certificateEnvelope) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).UpdateAsync(resourceGroupName, name, certificateEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateAsync(resourceGroupName, name, certificateEnvelope).GetAwaiter().GetResult(); } /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// /// /// The cancellation token. @@ -277,166 +289,174 @@ public static Certificate Update(this ICertificatesOperations operations, string } /// - /// Gets the certificate signing requests for a subscription in the specified - /// resource group + /// Get all certificate signing requests in a resource group. /// - /// Gets the certificate signing requests for a subscription in the specified - /// resource group + /// + /// Get all certificate signing requests in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// - public static IList ListCsrs(this ICertificatesOperations operations, string resourceGroupName) + public static IPage ListSigningRequestByResourceGroup(this ICertificatesOperations operations, string resourceGroupName) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).ListCsrsAsync(resourceGroupName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSigningRequestByResourceGroupAsync(resourceGroupName).GetAwaiter().GetResult(); } /// - /// Gets the certificate signing requests for a subscription in the specified - /// resource group + /// Get all certificate signing requests in a resource group. /// - /// Gets the certificate signing requests for a subscription in the specified - /// resource group + /// + /// Get all certificate signing requests in a resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// The cancellation token. /// - public static async Task> ListCsrsAsync(this ICertificatesOperations operations, string resourceGroupName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListSigningRequestByResourceGroupAsync(this ICertificatesOperations operations, string resourceGroupName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListCsrsWithHttpMessagesAsync(resourceGroupName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListSigningRequestByResourceGroupWithHttpMessagesAsync(resourceGroupName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets a certificate signing request by certificate name for a subscription - /// in the specified resource group + /// Get a certificate signing request. /// - /// Gets a certificate signing request by certificate name for a subscription - /// in the specified resource group + /// + /// Get a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// - public static Csr GetCsr(this ICertificatesOperations operations, string resourceGroupName, string name) + public static Csr GetSigningRequest(this ICertificatesOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).GetCsrAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSigningRequestAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets a certificate signing request by certificate name for a subscription - /// in the specified resource group + /// Get a certificate signing request. /// - /// Gets a certificate signing request by certificate name for a subscription - /// in the specified resource group + /// + /// Get a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// /// The cancellation token. /// - public static async Task GetCsrAsync(this ICertificatesOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetSigningRequestAsync(this ICertificatesOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetCsrWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetSigningRequestWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// - public static Csr CreateOrUpdateCsr(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope) + public static Csr CreateOrUpdateSigningRequest(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).CreateOrUpdateCsrAsync(resourceGroupName, name, csrEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateSigningRequestAsync(resourceGroupName, name, csrEnvelope).GetAwaiter().GetResult(); } /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateCsrAsync(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateSigningRequestAsync(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateCsrWithHttpMessagesAsync(resourceGroupName, name, csrEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateSigningRequestWithHttpMessagesAsync(resourceGroupName, name, csrEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Delete the certificate signing request. + /// Delete a certificate signing request. /// - /// Delete the certificate signing request. + /// + /// Delete a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate signing request. /// - public static object DeleteCsr(this ICertificatesOperations operations, string resourceGroupName, string name) + public static void DeleteSigningRequest(this ICertificatesOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).DeleteCsrAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteSigningRequestAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Delete the certificate signing request. + /// Delete a certificate signing request. /// - /// Delete the certificate signing request. + /// + /// Delete a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate signing request. @@ -444,66 +464,69 @@ public static object DeleteCsr(this ICertificatesOperations operations, string r /// /// The cancellation token. /// - public static async Task DeleteCsrAsync(this ICertificatesOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteSigningRequestAsync(this ICertificatesOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteCsrWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteSigningRequestWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// - public static Csr UpdateCsr(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope) + public static Csr UpdateSigningRequest(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).UpdateCsrAsync(resourceGroupName, name, csrEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateSigningRequestAsync(resourceGroupName, name, csrEnvelope).GetAwaiter().GetResult(); } /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// /// /// The cancellation token. /// - public static async Task UpdateCsrAsync(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateSigningRequestAsync(this ICertificatesOperations operations, string resourceGroupName, string name, Csr csrEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateCsrWithHttpMessagesAsync(resourceGroupName, name, csrEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateSigningRequestWithHttpMessagesAsync(resourceGroupName, name, csrEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// The operations group for this extension method. /// @@ -512,13 +535,15 @@ public static Csr UpdateCsr(this ICertificatesOperations operations, string reso /// public static IPage ListNext(this ICertificatesOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).ListNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// The operations group for this extension method. /// @@ -537,9 +562,11 @@ public static IPage ListNext(this ICertificatesOperations operation } /// - /// Get certificates for a subscription in the specified resource group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource group. + /// + /// Get all certificates in a resource group. + /// /// /// The operations group for this extension method. /// @@ -548,13 +575,15 @@ public static IPage ListNext(this ICertificatesOperations operation /// public static IPage ListByResourceGroupNext(this ICertificatesOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((ICertificatesOperations)s).ListByResourceGroupNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get certificates for a subscription in the specified resource group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource group. + /// + /// Get all certificates in a resource group. + /// /// /// The operations group for this extension method. /// @@ -572,5 +601,46 @@ public static IPage ListByResourceGroupNext(this ICertificatesOpera } } + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListSigningRequestByResourceGroupNext(this ICertificatesOperations operations, string nextPageLink) + { + return operations.ListSigningRequestByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListSigningRequestByResourceGroupNextAsync(this ICertificatesOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListSigningRequestByResourceGroupNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DeletedWebAppsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DeletedWebAppsOperations.cs new file mode 100644 index 000000000000..179dbd573268 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DeletedWebAppsOperations.cs @@ -0,0 +1,781 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites +{ + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + /// + /// DeletedWebAppsOperations operations. + /// + internal partial class DeletedWebAppsOperations : IServiceOperations, IDeletedWebAppsOperations + { + /// + /// Initializes a new instance of the DeletedWebAppsOperations class. + /// + /// + /// Reference to the service client. + /// + /// + /// Thrown when a required parameter is null + /// + internal DeletedWebAppsOperations(WebSiteManagementClient client) + { + if (client == null) + { + throw new System.ArgumentNullException("client"); + } + Client = client; + } + + /// + /// Gets a reference to the WebSiteManagementClient + /// + public WebSiteManagementClient Client { get; private set; } + + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-03-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-03-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroupNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DeletedWebAppsOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DeletedWebAppsOperationsExtensions.cs new file mode 100644 index 000000000000..d043bd624191 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DeletedWebAppsOperationsExtensions.cs @@ -0,0 +1,180 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites +{ + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Extension methods for DeletedWebAppsOperations. + /// + public static partial class DeletedWebAppsOperationsExtensions + { + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// The operations group for this extension method. + /// + public static IPage List(this IDeletedWebAppsOperations operations) + { + return operations.ListAsync().GetAwaiter().GetResult(); + } + + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The cancellation token. + /// + public static async Task> ListAsync(this IDeletedWebAppsOperations operations, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + public static IPage ListByResourceGroup(this IDeletedWebAppsOperations operations, string resourceGroupName) + { + return operations.ListByResourceGroupAsync(resourceGroupName).GetAwaiter().GetResult(); + } + + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The cancellation token. + /// + public static async Task> ListByResourceGroupAsync(this IDeletedWebAppsOperations operations, string resourceGroupName, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListByResourceGroupWithHttpMessagesAsync(resourceGroupName, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListNext(this IDeletedWebAppsOperations operations, string nextPageLink) + { + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListNextAsync(this IDeletedWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListByResourceGroupNext(this IDeletedWebAppsOperations operations, string nextPageLink) + { + return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListByResourceGroupNextAsync(this IDeletedWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListByResourceGroupNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperations.cs index 21a517cbfebe..91c6c44eb772 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperations.cs @@ -1,28 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// DomainsOperations operations. @@ -35,13 +33,16 @@ internal partial class DomainsOperations : IServiceOperations /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal DomainsOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,11 +51,13 @@ internal DomainsOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Checks if a domain is available for registration + /// Check if a domain is available for registration. /// - /// Checks if a domain is available for registration + /// + /// Check if a domain is available for registration. + /// /// - /// Name of the domain + /// Name of the domain. /// /// /// Headers that will be added to request. @@ -62,6 +65,18 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -71,11 +86,11 @@ internal DomainsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "identifier"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -89,35 +104,35 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "CheckAvailability", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -135,15 +150,15 @@ internal DomainsOperations(WebSiteManagementClient client) string _requestContent = null; if(identifier != null) { - _requestContent = SafeJsonConvert.SerializeObject(identifier, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(identifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -151,7 +166,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -165,14 +180,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -207,9 +222,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -227,25 +242,39 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Lists all domains in a subscription + /// Get all domains in a subscription. /// - /// Lists all domains in a subscription + /// + /// Get all domains in a subscription. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -258,35 +287,35 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -303,10 +332,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -314,7 +343,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -328,14 +357,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -370,9 +399,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -390,25 +419,39 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Generates a single sign on request for domain management portal + /// Generate a single sign-on request for the domain management portal. /// - /// Generates a single sign on request for domain management portal + /// + /// Generate a single sign-on request for the domain management portal. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task> GetControlCenterSsoRequestWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -421,35 +464,35 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "GetControlCenterSsoRequest", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -466,10 +509,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -477,7 +520,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -491,14 +534,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -533,9 +576,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -553,11 +596,13 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// - /// Domain recommendation search parameters + /// Search parameters for domain name recommendations. /// /// /// Headers that will be added to request. @@ -565,6 +610,18 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -574,11 +631,11 @@ internal DomainsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "parameters"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -592,35 +649,35 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListRecommendations", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -638,15 +695,15 @@ internal DomainsOperations(WebSiteManagementClient client) string _requestContent = null; if(parameters != null) { - _requestContent = SafeJsonConvert.SerializeObject(parameters, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -654,7 +711,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -668,14 +725,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -710,9 +767,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -730,11 +787,13 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Validates domain registration information + /// Get all domains in a resource group. /// - /// Validates domain registration information - /// - /// Domain registration information + /// + /// Get all domains in a resource group. + /// + /// + /// Name of the resource group to which the resource belongs. /// /// /// Headers that will be added to request. @@ -742,24 +801,47 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ValidatePurchaseInformationWithHttpMessagesAsync(DomainRegistrationInput domainRegistrationInput, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (domainRegistrationInput == null) + if (resourceGroupName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "domainRegistrationInput"); + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (domainRegistrationInput != null) + if (resourceGroupName != null) { - domainRegistrationInput.Validate(); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -767,41 +849,42 @@ internal DomainsOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("domainRegistrationInput", domainRegistrationInput); + tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ValidatePurchaseInformation", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -817,17 +900,11 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(domainRegistrationInput != null) - { - _requestContent = SafeJsonConvert.SerializeObject(domainRegistrationInput, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -835,7 +912,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -849,14 +926,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -878,7 +955,7 @@ internal DomainsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -891,9 +968,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -911,11 +988,16 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Lists domains under a resource group + /// Get a domain. /// - /// Lists domains under a resource group + /// + /// Get a domain. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the domain. /// /// /// Headers that will be added to request. @@ -923,20 +1005,51 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetWithHttpMessagesAsync(string resourceGroupName, string domainName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (domainName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -945,41 +1058,43 @@ internal DomainsOperations(WebSiteManagementClient client) _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("domainName", domainName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -996,10 +1111,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1007,7 +1122,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1021,14 +1136,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1050,7 +1165,7 @@ internal DomainsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1063,9 +1178,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1083,14 +1198,49 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Gets details of a domain + /// Creates or updates a domain. + /// + /// + /// Creates or updates a domain. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the domain. + /// + /// + /// Domain registration information. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, domainName, domain, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Delete a domain. /// - /// Gets details of a domain + /// + /// Delete a domain. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. + /// + /// + /// Specify <code>true</code> to delete the domain immediately. The + /// default is <code>false</code> which deletes the domain after 24 + /// hours. /// /// /// Headers that will be added to request. @@ -1098,24 +1248,48 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetWithHttpMessagesAsync(string resourceGroupName, string domainName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteWithHttpMessagesAsync(string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (domainName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1125,42 +1299,47 @@ internal DomainsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("domainName", domainName); + tracingParameters.Add("forceHardDeleteDomain", forceHardDeleteDomain); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{domainName}", Uri.EscapeDataString(domainName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (forceHardDeleteDomain != null) + { + _queryParameters.Add(string.Format("forceHardDeleteDomain={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(forceHardDeleteDomain, Client.SerializationSettings).Trim('"')))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1177,10 +1356,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1188,7 +1367,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1196,22 +1375,14 @@ internal DomainsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1231,31 +1402,13 @@ internal DomainsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1264,46 +1417,16 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Creates a domain - /// - /// Creates a domain - /// - /// &gt;Name of the resource group - /// - /// - /// Name of the domain - /// - /// - /// Domain registration information - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync( - resourceGroupName, domainName, domain, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); - } - - /// - /// Creates a domain + /// Lists domain ownership identifiers. /// - /// Creates a domain + /// + /// Lists domain ownership identifiers. + /// /// - /// &gt;Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain - /// - /// - /// Domain registration information + /// Name of domain. /// /// /// Headers that will be added to request. @@ -1311,32 +1434,51 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListOwnershipIdentifiersWithHttpMessagesAsync(string resourceGroupName, string domainName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (domainName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); - } - if (domain == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "domain"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (domain != null) + if (domainName == null) { - domain.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1346,43 +1488,42 @@ internal DomainsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("domainName", domainName); - tracingParameters.Add("domain", domain); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListOwnershipIdentifiers", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{domainName}", Uri.EscapeDataString(domainName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1398,17 +1539,11 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(domain != null) - { - _requestContent = SafeJsonConvert.SerializeObject(domain, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1416,7 +1551,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1424,20 +1559,20 @@ internal DomainsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 202 && (int)_statusCode != 200) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1459,7 +1594,7 @@ internal DomainsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1467,32 +1602,14 @@ internal DomainsOperations(WebSiteManagementClient client) _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response if ((int)_statusCode == 200) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1510,18 +1627,19 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Deletes a domain + /// Get ownership identifier for domain /// - /// Deletes a domain + /// + /// Get ownership identifier for domain + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// If true then the domain will be deleted immediately instead of after 24 - /// hours + /// + /// Name of identifier. /// /// /// Headers that will be added to request. @@ -1529,24 +1647,55 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (domainName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); } - if (this.Client.SubscriptionId == null) + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1556,47 +1705,44 @@ internal DomainsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("domainName", domainName); - tracingParameters.Add("forceHardDeleteDomain", forceHardDeleteDomain); + tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetOwnershipIdentifier", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{domainName}", Uri.EscapeDataString(domainName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (forceHardDeleteDomain != null) - { - _queryParameters.Add(string.Format("forceHardDeleteDomain={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(forceHardDeleteDomain, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1613,10 +1759,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1624,7 +1770,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1632,20 +1778,20 @@ internal DomainsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 204) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1667,7 +1813,7 @@ internal DomainsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1675,14 +1821,14 @@ internal DomainsOperations(WebSiteManagementClient client) _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } // Deserialize Response - if ((int)_statusCode == 204) + if ((int)_statusCode == 200) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1700,17 +1846,24 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Retrieves the latest status of a domain purchase operation + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer /// - /// Retrieves the latest status of a domain purchase operation + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. + /// + /// + /// Name of identifier. /// - /// - /// Domain purchase operation Id + /// + /// A JSON representation of the domain ownership properties. /// /// /// Headers that will be added to request. @@ -1718,28 +1871,63 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string domainName, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (domainName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); } - if (operationId == null) + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (domainOwnershipIdentifier == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "operationId"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifier"); } - if (this.Client.SubscriptionId == null) + if (domainOwnershipIdentifier != null) + { + domainOwnershipIdentifier.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1749,44 +1937,45 @@ internal DomainsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("domainName", domainName); - tracingParameters.Add("operationId", operationId); + tracingParameters.Add("name", name); + tracingParameters.Add("domainOwnershipIdentifier", domainOwnershipIdentifier); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetOperation", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateOwnershipIdentifier", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{domainName}", Uri.EscapeDataString(domainName)); - _url = _url.Replace("{operationId}", Uri.EscapeDataString(operationId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1802,11 +1991,17 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(domainOwnershipIdentifier != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(domainOwnershipIdentifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1814,7 +2009,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1822,20 +2017,20 @@ internal DomainsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 202 && (int)_statusCode != 200 && (int)_statusCode != 500) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1857,7 +2052,7 @@ internal DomainsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1865,32 +2060,14 @@ internal DomainsOperations(WebSiteManagementClient client) _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response if ((int)_statusCode == 200) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1908,11 +2085,19 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Lists all domains in a subscription + /// Delete ownership identifier for domain /// - /// Lists all domains in a subscription - /// - /// The NextLink from the previous successful call to List operation. + /// + /// Delete ownership identifier for domain + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// Name of identifier. /// /// /// Headers that will be added to request. @@ -1920,15 +2105,52 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (nextPageLink == null) + if (resourceGroupName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (domainName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -1936,35 +2158,46 @@ internal DomainsOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("domainName", domainName); + tracingParameters.Add("name", name); + tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteOwnershipIdentifier", tracingParameters); } // Construct URL - string _url = "{nextLink}"; - _url = _url.Replace("{nextLink}", nextPageLink); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1981,10 +2214,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1992,7 +2225,643 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// Name of identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> UpdateOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (domainName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (domainOwnershipIdentifier == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifier"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2015-04-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("domainName", domainName); + tracingParameters.Add("name", name); + tracingParameters.Add("domainOwnershipIdentifier", domainOwnershipIdentifier); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "UpdateOwnershipIdentifier", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(domainOwnershipIdentifier != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(domainOwnershipIdentifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Creates or updates a domain. + /// + /// + /// Creates or updates a domain. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the domain. + /// + /// + /// Domain registration information. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (domainName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainName"); + } + if (domainName != null) + { + if (!System.Text.RegularExpressions.Regex.IsMatch(domainName, "[a-zA-Z0-9][a-zA-Z0-9\\.-]+")) + { + throw new ValidationException(ValidationRules.Pattern, "domainName", "[a-zA-Z0-9][a-zA-Z0-9\\.-]+"); + } + } + if (domain == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domain"); + } + if (domain != null) + { + domain.Validate(); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2015-04-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("domainName", domainName); + tracingParameters.Add("domain", domain); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{domainName}", System.Uri.EscapeDataString(domainName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(domain != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(domain, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 202 && (int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get all domains in a subscription. + /// + /// + /// Get all domains in a subscription. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2006,14 +2875,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2048,9 +2917,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2068,9 +2937,11 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -2080,6 +2951,18 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -2106,25 +2989,25 @@ internal DomainsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2141,10 +3024,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2152,7 +3035,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2166,14 +3049,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2208,9 +3091,9 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2228,9 +3111,11 @@ internal DomainsOperations(WebSiteManagementClient client) } /// - /// Lists domains under a resource group + /// Get all domains in a resource group. /// - /// Lists domains under a resource group + /// + /// Get all domains in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -2240,6 +3125,18 @@ internal DomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -2266,25 +3163,25 @@ internal DomainsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2301,10 +3198,10 @@ internal DomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2312,7 +3209,7 @@ internal DomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2326,14 +3223,14 @@ internal DomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2368,9 +3265,183 @@ internal DomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Lists domain ownership identifiers. + /// + /// + /// Lists domain ownership identifiers. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListOwnershipIdentifiersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (nextPageLink == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("nextPageLink", nextPageLink); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListOwnershipIdentifiersNext", tracingParameters); + } + // Construct URL + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); + List _queryParameters = new List(); + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2389,3 +3460,4 @@ internal DomainsOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperationsExtensions.cs index 51a526d7c7d3..3c95cc623395 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/DomainsOperationsExtensions.cs @@ -1,21 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Collections; - using System.Collections.Generic; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for DomainsOperations. @@ -23,29 +22,33 @@ namespace Microsoft.Azure.Management.WebSites public static partial class DomainsOperationsExtensions { /// - /// Checks if a domain is available for registration + /// Check if a domain is available for registration. /// - /// Checks if a domain is available for registration + /// + /// Check if a domain is available for registration. + /// /// /// The operations group for this extension method. /// /// - /// Name of the domain + /// Name of the domain. /// public static DomainAvailablilityCheckResult CheckAvailability(this IDomainsOperations operations, NameIdentifier identifier) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).CheckAvailabilityAsync(identifier), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CheckAvailabilityAsync(identifier).GetAwaiter().GetResult(); } /// - /// Checks if a domain is available for registration + /// Check if a domain is available for registration. /// - /// Checks if a domain is available for registration + /// + /// Check if a domain is available for registration. + /// /// /// The operations group for this extension method. /// /// - /// Name of the domain + /// Name of the domain. /// /// /// The cancellation token. @@ -59,21 +62,25 @@ public static DomainAvailablilityCheckResult CheckAvailability(this IDomainsOper } /// - /// Lists all domains in a subscription + /// Get all domains in a subscription. /// - /// Lists all domains in a subscription + /// + /// Get all domains in a subscription. + /// /// /// The operations group for this extension method. /// public static IPage List(this IDomainsOperations operations) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).ListAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync().GetAwaiter().GetResult(); } /// - /// Lists all domains in a subscription + /// Get all domains in a subscription. /// - /// Lists all domains in a subscription + /// + /// Get all domains in a subscription. + /// /// /// The operations group for this extension method. /// @@ -89,21 +96,25 @@ public static IPage List(this IDomainsOperations operations) } /// - /// Generates a single sign on request for domain management portal + /// Generate a single sign-on request for the domain management portal. /// - /// Generates a single sign on request for domain management portal + /// + /// Generate a single sign-on request for the domain management portal. + /// /// /// The operations group for this extension method. /// public static DomainControlCenterSsoRequest GetControlCenterSsoRequest(this IDomainsOperations operations) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).GetControlCenterSsoRequestAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetControlCenterSsoRequestAsync().GetAwaiter().GetResult(); } /// - /// Generates a single sign on request for domain management portal + /// Generate a single sign-on request for the domain management portal. /// - /// Generates a single sign on request for domain management portal + /// + /// Generate a single sign-on request for the domain management portal. + /// /// /// The operations group for this extension method. /// @@ -119,29 +130,33 @@ public static DomainControlCenterSsoRequest GetControlCenterSsoRequest(this IDom } /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// /// The operations group for this extension method. /// /// - /// Domain recommendation search parameters + /// Search parameters for domain name recommendations. /// public static IPage ListRecommendations(this IDomainsOperations operations, DomainRecommendationSearchParameters parameters) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).ListRecommendationsAsync(parameters), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListRecommendationsAsync(parameters).GetAwaiter().GetResult(); } /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// /// The operations group for this extension method. /// /// - /// Domain recommendation search parameters + /// Search parameters for domain name recommendations. /// /// /// The cancellation token. @@ -155,317 +170,525 @@ public static IPage ListRecommendations(this IDomainsOperations } /// - /// Validates domain registration information + /// Get all domains in a resource group. /// - /// Validates domain registration information + /// + /// Get all domains in a resource group. + /// /// /// The operations group for this extension method. /// - /// - /// Domain registration information + /// + /// Name of the resource group to which the resource belongs. /// - public static object ValidatePurchaseInformation(this IDomainsOperations operations, DomainRegistrationInput domainRegistrationInput) + public static IPage ListByResourceGroup(this IDomainsOperations operations, string resourceGroupName) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).ValidatePurchaseInformationAsync(domainRegistrationInput), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupAsync(resourceGroupName).GetAwaiter().GetResult(); } /// - /// Validates domain registration information + /// Get all domains in a resource group. /// - /// Validates domain registration information + /// + /// Get all domains in a resource group. + /// /// /// The operations group for this extension method. /// - /// - /// Domain registration information + /// + /// Name of the resource group to which the resource belongs. /// /// /// The cancellation token. /// - public static async Task ValidatePurchaseInformationAsync(this IDomainsOperations operations, DomainRegistrationInput domainRegistrationInput, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListByResourceGroupAsync(this IDomainsOperations operations, string resourceGroupName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ValidatePurchaseInformationWithHttpMessagesAsync(domainRegistrationInput, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListByResourceGroupWithHttpMessagesAsync(resourceGroupName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Lists domains under a resource group + /// Get a domain. /// - /// Lists domains under a resource group + /// + /// Get a domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// - public static IPage ListByResourceGroup(this IDomainsOperations operations, string resourceGroupName) + /// + /// Name of the domain. + /// + public static Domain Get(this IDomainsOperations operations, string resourceGroupName, string domainName) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).ListByResourceGroupAsync(resourceGroupName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAsync(resourceGroupName, domainName).GetAwaiter().GetResult(); } /// - /// Lists domains under a resource group + /// Get a domain. /// - /// Lists domains under a resource group + /// + /// Get a domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the domain. /// /// /// The cancellation token. /// - public static async Task> ListByResourceGroupAsync(this IDomainsOperations operations, string resourceGroupName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListByResourceGroupWithHttpMessagesAsync(resourceGroupName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, domainName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets details of a domain + /// Creates or updates a domain. /// - /// Gets details of a domain + /// + /// Creates or updates a domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. /// - public static Domain Get(this IDomainsOperations operations, string resourceGroupName, string domainName) + /// + /// Domain registration information. + /// + public static Domain CreateOrUpdate(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).GetAsync(resourceGroupName, domainName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateAsync(resourceGroupName, domainName, domain).GetAwaiter().GetResult(); } /// - /// Gets details of a domain + /// Creates or updates a domain. /// - /// Gets details of a domain + /// + /// Creates or updates a domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. + /// + /// + /// Domain registration information. /// /// /// The cancellation token. /// - public static async Task GetAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, domainName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, domainName, domain, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a domain + /// Delete a domain. /// - /// Creates a domain + /// + /// Delete a domain. + /// /// /// The operations group for this extension method. /// /// - /// &gt;Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. /// - /// - /// Domain registration information + /// + /// Specify <code>true</code> to delete the domain immediately. The + /// default is <code>false</code> which deletes the domain after 24 + /// hours. /// - public static Domain CreateOrUpdate(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain) + public static void Delete(this IDomainsOperations operations, string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?)) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).CreateOrUpdateAsync(resourceGroupName, domainName, domain), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteAsync(resourceGroupName, domainName, forceHardDeleteDomain).GetAwaiter().GetResult(); } /// - /// Creates a domain + /// Delete a domain. /// - /// Creates a domain + /// + /// Delete a domain. + /// /// /// The operations group for this extension method. /// /// - /// &gt;Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. /// - /// - /// Domain registration information + /// + /// Specify <code>true</code> to delete the domain immediately. The + /// default is <code>false</code> which deletes the domain after 24 + /// hours. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, domainName, domain, null, cancellationToken).ConfigureAwait(false)) + await operations.DeleteWithHttpMessagesAsync(resourceGroupName, domainName, forceHardDeleteDomain, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Lists domain ownership identifiers. + /// + /// + /// Lists domain ownership identifiers. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + public static IPage ListOwnershipIdentifiers(this IDomainsOperations operations, string resourceGroupName, string domainName) + { + return operations.ListOwnershipIdentifiersAsync(resourceGroupName, domainName).GetAwaiter().GetResult(); + } + + /// + /// Lists domain ownership identifiers. + /// + /// + /// Lists domain ownership identifiers. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// The cancellation token. + /// + public static async Task> ListOwnershipIdentifiersAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListOwnershipIdentifiersWithHttpMessagesAsync(resourceGroupName, domainName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a domain + /// Get ownership identifier for domain /// - /// Creates a domain + /// + /// Get ownership identifier for domain + /// /// /// The operations group for this extension method. /// /// - /// &gt;Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// Domain registration information + /// + /// Name of identifier. /// - public static Domain BeginCreateOrUpdate(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain) + public static DomainOwnershipIdentifier GetOwnershipIdentifier(this IDomainsOperations operations, string resourceGroupName, string domainName, string name) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).BeginCreateOrUpdateAsync(resourceGroupName, domainName, domain), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetOwnershipIdentifierAsync(resourceGroupName, domainName, name).GetAwaiter().GetResult(); } /// - /// Creates a domain + /// Get ownership identifier for domain /// - /// Creates a domain + /// + /// Get ownership identifier for domain + /// /// /// The operations group for this extension method. /// /// - /// &gt;Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// Domain registration information + /// + /// Name of identifier. /// /// /// The cancellation token. /// - public static async Task BeginCreateOrUpdateAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetOwnershipIdentifierAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, domainName, domain, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, domainName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Deletes a domain + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer /// - /// Deletes a domain + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// If true then the domain will be deleted immediately instead of after 24 - /// hours + /// + /// Name of identifier. + /// + /// + /// A JSON representation of the domain ownership properties. /// - public static object Delete(this IDomainsOperations operations, string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?)) + public static DomainOwnershipIdentifier CreateOrUpdateOwnershipIdentifier(this IDomainsOperations operations, string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).DeleteAsync(resourceGroupName, domainName, forceHardDeleteDomain), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateOwnershipIdentifierAsync(resourceGroupName, domainName, name, domainOwnershipIdentifier).GetAwaiter().GetResult(); } /// - /// Deletes a domain + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer /// - /// Deletes a domain + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// If true then the domain will be deleted immediately instead of after 24 - /// hours + /// + /// Name of identifier. + /// + /// + /// A JSON representation of the domain ownership properties. /// /// /// The cancellation token. /// - public static async Task DeleteAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateOwnershipIdentifierAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteWithHttpMessagesAsync(resourceGroupName, domainName, forceHardDeleteDomain, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, domainName, name, domainOwnershipIdentifier, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves the latest status of a domain purchase operation + /// Delete ownership identifier for domain /// - /// Retrieves the latest status of a domain purchase operation + /// + /// Delete ownership identifier for domain + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// Domain purchase operation Id + /// + /// Name of identifier. /// - public static Domain GetOperation(this IDomainsOperations operations, string resourceGroupName, string domainName, string operationId) + public static void DeleteOwnershipIdentifier(this IDomainsOperations operations, string resourceGroupName, string domainName, string name) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).GetOperationAsync(resourceGroupName, domainName, operationId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteOwnershipIdentifierAsync(resourceGroupName, domainName, name).GetAwaiter().GetResult(); } /// - /// Retrieves the latest status of a domain purchase operation + /// Delete ownership identifier for domain /// - /// Retrieves the latest status of a domain purchase operation + /// + /// Delete ownership identifier for domain + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// Domain purchase operation Id + /// + /// Name of identifier. /// /// /// The cancellation token. /// - public static async Task GetOperationAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, string operationId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteOwnershipIdentifierAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, string name, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.DeleteOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, domainName, name, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// Name of identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + public static DomainOwnershipIdentifier UpdateOwnershipIdentifier(this IDomainsOperations operations, string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier) { - using (var _result = await operations.GetOperationWithHttpMessagesAsync(resourceGroupName, domainName, operationId, null, cancellationToken).ConfigureAwait(false)) + return operations.UpdateOwnershipIdentifierAsync(resourceGroupName, domainName, name, domainOwnershipIdentifier).GetAwaiter().GetResult(); + } + + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// + /// + /// Creates an ownership identifier for a domain or updates identifier details + /// for an existing identifer + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// Name of identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + /// + /// The cancellation token. + /// + public static async Task UpdateOwnershipIdentifierAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.UpdateOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, domainName, name, domainOwnershipIdentifier, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Lists all domains in a subscription + /// Creates or updates a domain. + /// + /// + /// Creates or updates a domain. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the domain. + /// + /// + /// Domain registration information. + /// + public static Domain BeginCreateOrUpdate(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain) + { + return operations.BeginCreateOrUpdateAsync(resourceGroupName, domainName, domain).GetAwaiter().GetResult(); + } + + /// + /// Creates or updates a domain. /// - /// Lists all domains in a subscription + /// + /// Creates or updates a domain. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the domain. + /// + /// + /// Domain registration information. + /// + /// + /// The cancellation token. + /// + public static async Task BeginCreateOrUpdateAsync(this IDomainsOperations operations, string resourceGroupName, string domainName, Domain domain, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, domainName, domain, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get all domains in a subscription. + /// + /// + /// Get all domains in a subscription. + /// /// /// The operations group for this extension method. /// @@ -474,13 +697,15 @@ public static Domain GetOperation(this IDomainsOperations operations, string res /// public static IPage ListNext(this IDomainsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).ListNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists all domains in a subscription + /// Get all domains in a subscription. /// - /// Lists all domains in a subscription + /// + /// Get all domains in a subscription. + /// /// /// The operations group for this extension method. /// @@ -499,9 +724,11 @@ public static IPage ListNext(this IDomainsOperations operations, string } /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// /// The operations group for this extension method. /// @@ -510,13 +737,15 @@ public static IPage ListNext(this IDomainsOperations operations, string /// public static IPage ListRecommendationsNext(this IDomainsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).ListRecommendationsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListRecommendationsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// /// The operations group for this extension method. /// @@ -535,9 +764,11 @@ public static IPage ListRecommendationsNext(this IDomainsOperati } /// - /// Lists domains under a resource group + /// Get all domains in a resource group. /// - /// Lists domains under a resource group + /// + /// Get all domains in a resource group. + /// /// /// The operations group for this extension method. /// @@ -546,13 +777,15 @@ public static IPage ListRecommendationsNext(this IDomainsOperati /// public static IPage ListByResourceGroupNext(this IDomainsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IDomainsOperations)s).ListByResourceGroupNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists domains under a resource group + /// Get all domains in a resource group. /// - /// Lists domains under a resource group + /// + /// Get all domains in a resource group. + /// /// /// The operations group for this extension method. /// @@ -570,5 +803,46 @@ public static IPage ListByResourceGroupNext(this IDomainsOperations oper } } + /// + /// Lists domain ownership identifiers. + /// + /// + /// Lists domain ownership identifiers. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListOwnershipIdentifiersNext(this IDomainsOperations operations, string nextPageLink) + { + return operations.ListOwnershipIdentifiersNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Lists domain ownership identifiers. + /// + /// + /// Lists domain ownership identifiers. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListOwnershipIdentifiersNextAsync(this IDomainsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListOwnershipIdentifiersNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceCertificateOrdersOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceCertificateOrdersOperations.cs index 9eb9b7cee412..2d27486f03e1 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceCertificateOrdersOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceCertificateOrdersOperations.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// AppServiceCertificateOrdersOperations operations. @@ -23,22 +24,35 @@ namespace Microsoft.Azure.Management.WebSites public partial interface IAppServiceCertificateOrdersOperations { /// - /// Lists all domains in a subscription + /// List all certificate orders in a subscription. /// - /// Lists all domains in a subscription + /// + /// List all certificate orders in a subscription. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Validate certificate purchase information + /// Validate information for a certificate order. /// - /// Validate certificate purchase information + /// + /// Validate information for a certificate order. + /// /// - /// Certificate order + /// Information for a certificate order. /// /// /// The headers that will be added to request. @@ -46,13 +60,21 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> ValidatePurchaseInformationWithHttpMessagesAsync(AppServiceCertificateOrder appServiceCertificateOrder, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ValidatePurchaseInformationWithHttpMessagesAsync(AppServiceCertificateOrder appServiceCertificateOrder, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The headers that will be added to request. @@ -60,18 +82,27 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List all certificates associated with a certificate order (only - /// one certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only - /// one certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// /// The headers that will be added to request. @@ -79,19 +110,30 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListCertificatesWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get certificate associated with the certificate order + /// Get the certificate associated with a certificate order. /// - /// Get certificate associated with the certificate order + /// + /// Get the certificate associated with a certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// /// /// The headers that will be added to request. @@ -99,24 +141,35 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Associates a Key Vault secret to a certificate store that will be - /// used for storing the certificate once it's ready + /// Creates or updates a certificate and associates with key vault + /// secret. /// - /// Associates a Key Vault secret to a certificate store that will be - /// used for storing the certificate once it's ready + /// + /// Creates or updates a certificate and associates with key vault + /// secret. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name + /// Name of the certificate. /// /// - /// Key Vault secret csm Id + /// Key vault certificate resource Id. /// /// /// The headers that will be added to request. @@ -124,24 +177,30 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Associates a Key Vault secret to a certificate store that will be - /// used for storing the certificate once it's ready + /// Delete the certificate associated with a certificate order. /// - /// Associates a Key Vault secret to a certificate store that will be - /// used for storing the certificate once it's ready + /// + /// Delete the certificate associated with a certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate order. /// /// - /// Certificate name - /// - /// - /// Key Vault secret csm Id + /// Name of the certificate. /// /// /// The headers that will be added to request. @@ -149,19 +208,55 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> BeginCreateOrUpdateCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes the certificate associated with the certificate order + /// Get a certificate order. /// - /// Deletes the certificate associated with the certificate order + /// + /// Get a certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// - /// - /// Certificate name + /// + /// Name of the certificate. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Create or update a certificate purchase order. + /// + /// + /// Create or update a certificate purchase order. + /// + /// + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. /// /// /// The headers that will be added to request. @@ -169,16 +264,27 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> DeleteCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get a certificate order + /// Delete an existing certificate order. /// - /// Get a certificate order + /// + /// Delete an existing certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// /// /// The headers that will be added to request. @@ -186,19 +292,27 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteCertificateOrderWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a certificate purchase order + /// Reissue an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Reissue an existing certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Name of the certificate. /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Parameters for the reissue. /// /// /// The headers that will be added to request. @@ -206,19 +320,27 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ReissueWithHttpMessagesAsync(string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a certificate purchase order + /// Renew an existing certificate order. /// - /// Create or update a certificate purchase order + /// + /// Renew an existing certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate name /// - /// - /// Distinguished name to be used for purchasing certificate + /// + /// Renew parameters /// /// /// The headers that will be added to request. @@ -226,16 +348,24 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RenewWithHttpMessagesAsync(string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete an existing certificate order + /// Resend certificate email. /// - /// Delete an existing certificate order + /// + /// Resend certificate email. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Certificate order name /// /// /// The headers that will be added to request. @@ -243,19 +373,27 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> DeleteCertificateOrderWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ResendEmailWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Reissue an existing certificate order + /// Verify domain ownership for this certificate order. /// - /// Reissue an existing certificate order + /// + /// Verify domain ownership for this certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name + /// Certificate order name /// - /// - /// Reissue parameters + /// + /// Email address /// /// /// The headers that will be added to request. @@ -263,19 +401,24 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> ReissueWithHttpMessagesAsync(string resourceGroupName, string name, ReissueCertificateOrderRequest reissueCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ResendRequestEmailsWithHttpMessagesAsync(string resourceGroupName, string name, NameIdentifier nameIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Renew an existing certificate order + /// Retrieve the list of certificate actions. /// - /// Renew an existing certificate order + /// + /// Retrieve the list of certificate actions. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Certificate name - /// - /// - /// Renew parameters + /// Certificate order name /// /// /// The headers that will be added to request. @@ -283,13 +426,24 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> RenewWithHttpMessagesAsync(string resourceGroupName, string name, RenewCertificateOrderRequest renewCertificateOrderRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> RetrieveCertificateActionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Resend certificate email + /// Retrieve email history. /// - /// Resend certificate email + /// + /// Retrieve email history. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name @@ -300,30 +454,55 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> ResendCertificateEmailWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> RetrieveCertificateEmailHistoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieve the list of certificate actions + /// Verify domain ownership for this certificate order. /// - /// Retrieve the list of certificate actions + /// + /// Verify domain ownership for this certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name /// + /// + /// Site seal request + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// - Task>> RetrieveCertificateActionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> RetrieveSiteSealWithHttpMessagesAsync(string resourceGroupName, string name, SiteSealRequest siteSealRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrive email history + /// Verify domain ownership for this certificate order. /// - /// Retrive email history + /// + /// Verify domain ownership for this certificate order. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. /// /// /// Certificate order name @@ -334,16 +513,32 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task>> RetrieveCertificateEmailHistoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task VerifyDomainOwnershipWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Verify domain ownership for this certificate order + /// Creates or updates a certificate and associates with key vault + /// secret. /// - /// Verify domain ownership for this certificate order + /// + /// Creates or updates a certificate and associates with key vault + /// secret. + /// /// - /// Azure resource group name + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate order. /// /// - /// Certificate order name + /// Name of the certificate. + /// + /// + /// Key vault certificate resource Id. /// /// /// The headers that will be added to request. @@ -351,11 +546,53 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// - Task> VerifyDomainOwnershipWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateCertificateWithHttpMessagesAsync(string resourceGroupName, string certificateOrderName, string name, AppServiceCertificate keyVaultCertificate, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all domains in a subscription + /// Create or update a certificate purchase order. /// - /// Lists all domains in a subscription + /// + /// Create or update a certificate purchase order. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the certificate. + /// + /// + /// Distinguished name to to use for the certificate order. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceCertificateOrder certificateDistinguishedName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// List all certificate orders in a subscription. + /// + /// + /// List all certificate orders in a subscription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -365,11 +602,22 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get certificate orders in a resource group + /// Get certificate orders in a resource group. /// - /// Get certificate orders in a resource group + /// + /// Get certificate orders in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -379,13 +627,22 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List all certificates associated with a certificate order (only - /// one certificate can be associated with an order at a time) + /// List all certificates associated with a certificate order. /// - /// List all certificates associated with a certificate order (only - /// one certificate can be associated with an order at a time) + /// + /// List all certificates associated with a certificate order. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -395,6 +652,16 @@ public partial interface IAppServiceCertificateOrdersOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListCertificatesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceEnvironmentsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceEnvironmentsOperations.cs index 4221d7ee3565..769c347509fa 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceEnvironmentsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServiceEnvironmentsOperations.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// AppServiceEnvironmentsOperations operations. @@ -23,26 +24,35 @@ namespace Microsoft.Azure.Management.WebSites public partial interface IAppServiceEnvironmentsOperations { /// - /// Gets all hostingEnvironments (App Service Environment) for a - /// subscription + /// Get all App Service Environments for a subscription. /// - /// Gets all hostingEnvironments (App Service Environment) for a - /// subscription + /// + /// Get all App Service Environments for a subscription. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all hostingEnvironments (App Service Environments) in a - /// resource group. + /// Get all App Service Environments in a resource group. /// - /// Get all hostingEnvironments (App Service Environments) in a - /// resource group. + /// + /// Get all App Service Environments in a resource group. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// The headers that will be added to request. @@ -50,16 +60,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// Get the properties of an App Service Environment. /// - /// Get properties of AppServiceEnvironment (App Service Environment). + /// + /// Get the properties of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -67,19 +88,30 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// Create or update an App Service Environment. /// - /// Create or update a AppServiceEnvironment (App Service Environment). + /// + /// Create or update an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Properties of AppServiceEnvironment (App Service Environment) + /// Configuration details of the App Service Environment. /// /// /// The headers that will be added to request. @@ -87,61 +119,32 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a AppServiceEnvironment (App Service Environment). - /// - /// Create or update a AppServiceEnvironment (App Service Environment). - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of AppServiceEnvironment (App Service Environment) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// Delete a AppServiceEnvironment (App Service Environment). - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// Delete an App Service Environment. /// - /// Delete a AppServiceEnvironment (App Service Environment). + /// + /// Delete an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Delete even if the AppServiceEnvironment (App Service Environment) - /// contains resources + /// Specify <code>true</code> to force the deletion even if + /// the App Service Environment contains resources. The default is + /// <code>false</code>. /// /// /// The headers that will be added to request. @@ -149,18 +152,26 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> BeginDeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get used, available, and total worker capacity for - /// AppServiceEnvironment (App Service Environment). + /// Get the used, available, and total worker capacity an App Service + /// Environment. /// - /// Get used, available, and total worker capacity for - /// AppServiceEnvironment (App Service Environment). + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -168,18 +179,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListCapacitiesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get IP addresses assigned to the AppServiceEnvironment (App - /// Service Environment). + /// Get IP addresses assigned to an App Service Environment. /// - /// Get IP addresses assigned to the AppServiceEnvironment (App - /// Service Environment). + /// + /// Get IP addresses assigned to an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -187,18 +207,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListVipsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get diagnostic information for an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get diagnostic information for an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -206,21 +235,30 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListDiagnosticsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// Get a diagnostics item for an App Service Environment. /// - /// Get diagnostic information for AppServiceEnvironment (App Service - /// Environment). + /// + /// Get a diagnostics item for an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of the diagnostics + /// Name of the diagnostics item. /// /// /// The headers that will be added to request. @@ -228,18 +266,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetDiagnosticsItemWithHttpMessagesAsync(string resourceGroupName, string name, string diagnosticsName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get global metric definitions of AppServiceEnvironment (App - /// Service Environment). + /// Get global metric definitions of an App Service Environment. /// - /// Get global metric definitions of AppServiceEnvironment (App - /// Service Environment). + /// + /// Get global metric definitions of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -247,28 +294,38 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get global metrics of AppServiceEnvironment (App Service - /// Environment). + /// Get global metrics of an App Service Environment. /// - /// Get global metrics of AppServiceEnvironment (App Service - /// Environment). + /// + /// Get global metrics of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. + /// The default is <code>false</code>. /// /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(name.value eq 'Metric1' or + /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -276,16 +333,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all multi role pools + /// Get all multi-role pools. /// - /// Get all multi role pools + /// + /// Get all multi-role pools. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -293,16 +361,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRolePoolsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get properties of a multiRool pool. + /// Get properties of a multi-role pool. /// - /// Get properties of a multiRool pool. + /// + /// Get properties of a multi-role pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -310,19 +389,30 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a multiRole pool. + /// Create or update a multi-role pool. /// - /// Create or update a multiRole pool. + /// + /// Create or update a multi-role pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Properties of multiRole pool + /// Properties of the multi-role pool. /// /// /// The headers that will be added to request. @@ -330,41 +420,32 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a multiRole pool. + /// Get metric definitions for a specific instance of a multi-role pool + /// of an App Service Environment. /// - /// Create or update a multiRole pool. + /// + /// Get metric definitions for a specific instance of a multi-role pool + /// of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Properties of multiRole pool - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Get metric definitions for a specific instance of a multiRole pool - /// of a AppServiceEnvironment (App Service Environment). - /// - /// Get metric definitions for a specific instance of a multiRole pool - /// of a AppServiceEnvironment (App Service Environment). - /// - /// Name of resource group - /// - /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of instance in the multiRole pool&gt; + /// Name of the instance in the multi-role pool. /// /// /// The headers that will be added to request. @@ -372,24 +453,36 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> ListMultiRolePoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMultiRolePoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metrics for a specific instance of a multi-role pool of an App + /// Service Environment. /// - /// Get metrics for a specific instance of a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metrics for a specific instance of a multi-role pool of an App + /// Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of instance in the multiRole pool + /// Name of the instance in the multi-role pool. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. + /// The default is <code>false</code>. /// /// /// The headers that will be added to request. @@ -397,18 +490,29 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> ListMultiRolePoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, bool? details = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMultiRolePoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string instance, bool? details = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metric definitions for a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a multi-role pool of an App Service + /// Environment. /// - /// Get metric definitions for a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a multi-role pool of an App Service + /// Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -416,37 +520,47 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListMultiRoleMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMultiRoleMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get metrics for a multi-role pool of an App Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Beginning time of metrics query + /// Beginning time of the metrics query. /// /// - /// End time of metrics query + /// End time of the metrics query. /// /// - /// Time granularity of metrics query + /// Time granularity of the metrics query. /// /// - /// Include instance details + /// Specify <code>true</code> to include instance details. + /// The default is <code>false</code>. /// /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(name.value eq 'Metric1' or + /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -454,16 +568,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRoleMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string startTime = default(string), string endTime = default(string), string timeGrain = default(string), bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get available skus for scaling a multiRole pool. + /// Get available SKUs for scaling a multi-role pool. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -471,18 +596,29 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRolePoolSkusWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get usage metrics for a multi-role pool of an App Service + /// Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service + /// Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -490,18 +626,29 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRoleUsagesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List all currently running operations on the AppServiceEnvironment - /// (App Service Environment) + /// List all currently running operations on the App Service + /// Environment. /// - /// List all currently running operations on the AppServiceEnvironment - /// (App Service Environment) + /// + /// List all currently running operations on the App Service + /// Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -509,21 +656,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> ListOperationsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListOperationsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). + /// Reboot all machines in an App Service Environment. /// - /// Get status of an operation on a AppServiceEnvironment (App Service - /// Environment). + /// + /// Reboot all machines in an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// operation identifier GUID + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -531,18 +684,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RebootWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Reboots all machines in a AppServiceEnvironment (App Service - /// Environment). + /// Resume an App Service Environment. /// - /// Reboots all machines in a AppServiceEnvironment (App Service - /// Environment). + /// + /// Resume an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -550,16 +709,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> RebootWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Resumes the AppServiceEnvironment. + /// Get all App Service plans in an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Get all App Service plans in an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -567,16 +737,30 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListAppServicePlansWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Resumes the AppServiceEnvironment. + /// Get all apps in an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Get all apps in an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Comma separated list of app properties to include. /// /// /// The headers that will be added to request. @@ -584,18 +768,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> BeginResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all serverfarms (App Service Plans) on the - /// AppServiceEnvironment (App Service Environment). + /// Suspend an App Service Environment. /// - /// Get all serverfarms (App Service Plans) on the - /// AppServiceEnvironment (App Service Environment). + /// + /// Suspend an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -603,21 +796,34 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListAppServicePlansWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> SuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all sites on the AppServiceEnvironment (App Service - /// Environment). + /// Get global usage metrics of an App Service Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service - /// Environment). + /// + /// Get global usage metrics of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Comma separated list of site properties to include + /// + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(name.value eq 'Metric1' or + /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -625,16 +831,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Suspends the AppServiceEnvironment. + /// Get all worker pools of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get all worker pools of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -642,16 +859,30 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> SuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWorkerPoolsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Suspends the AppServiceEnvironment. + /// Get properties of a worker pool. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get properties of a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Name of the worker pool. /// /// /// The headers that will be added to request. @@ -659,25 +890,33 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> BeginSuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get global usages of AppServiceEnvironment (App Service - /// Environment). + /// Create or update a worker pool. /// - /// Get global usages of AppServiceEnvironment (App Service - /// Environment). + /// + /// Create or update a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Name of the worker pool. + /// + /// + /// Properties of the worker pool. /// /// /// The headers that will be added to request. @@ -685,16 +924,35 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all worker pools + /// Get metric definitions for a specific instance of a worker pool of + /// an App Service Environment. /// - /// Get all worker pools + /// + /// Get metric definitions for a specific instance of a worker pool of + /// an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. + /// + /// + /// Name of the worker pool. + /// + /// + /// Name of the instance in the worker pool. /// /// /// The headers that will be added to request. @@ -702,19 +960,46 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWorkerPoolsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWorkerPoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get properties of a worker pool. + /// Get metrics for a specific instance of a worker pool of an App + /// Service Environment. /// - /// Get properties of a worker pool. + /// + /// Get metrics for a specific instance of a worker pool of an App + /// Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. + /// + /// + /// Name of the instance in the worker pool. + /// + /// + /// Specify <code>true</code> to include instance details. + /// The default is <code>false</code>. + /// + /// + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(name.value eq 'Metric1' or + /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -722,22 +1007,32 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> GetWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWorkerPoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a worker pool. + /// Get metric definitions for a worker pool of an App Service + /// Environment. /// - /// Create or update a worker pool. + /// + /// Get metric definitions for a worker pool of an App Service + /// Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool - /// - /// - /// Properties of worker pool + /// Name of the worker pool. /// /// /// The headers that will be added to request. @@ -745,22 +1040,43 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> CreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebWorkerMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create or update a worker pool. + /// Get metrics for a worker pool of a AppServiceEnvironment (App + /// Service Environment). /// - /// Create or update a worker pool. + /// + /// Get metrics for a worker pool of a AppServiceEnvironment (App + /// Service Environment). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// /// Name of worker pool /// - /// - /// Properties of worker pool + /// + /// Specify <code>true</code> to include instance details. + /// The default is <code>false</code>. + /// + /// + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(name.value eq 'Metric1' or + /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -768,24 +1084,30 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebWorkerMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metric definitions for a specific instance of a worker pool of - /// a AppServiceEnvironment (App Service Environment). + /// Get available SKUs for scaling a worker pool. /// - /// Get metric definitions for a specific instance of a worker pool of - /// a AppServiceEnvironment (App Service Environment). + /// + /// Get available SKUs for scaling a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool - /// - /// - /// Name of instance in the worker pool + /// Name of the worker pool. /// /// /// The headers that will be added to request. @@ -793,34 +1115,61 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> ListWorkerPoolInstanceMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWorkerPoolSkusWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get metrics for a specific instance of a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. /// - /// - /// Name of instance in the worker pool + /// + /// The headers that will be added to request. /// - /// - /// Include instance details + /// + /// The cancellation token. /// - /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebWorkerUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Create or update an App Service Environment. + /// + /// + /// Create or update an App Service Environment. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. + /// + /// + /// Configuration details of the App Service Environment. /// /// /// The headers that will be added to request. @@ -828,21 +1177,32 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task> ListWorkerPoolInstanceMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, string instance, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServiceEnvironment hostingEnvironmentEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metric definitions for a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// Delete an App Service Environment. /// - /// Get metric definitions for a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Delete an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Name of worker pool + /// + /// Specify <code>true</code> to force the deletion even if + /// the App Service Environment contains resources. The default is + /// <code>false</code>. /// /// /// The headers that will be added to request. @@ -850,31 +1210,55 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWebWorkerMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task BeginDeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? forceDelete = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metrics for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Create or update a multi-role pool. /// - /// Get metrics for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Create or update a multi-role pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// - /// - /// Name of worker pool + /// + /// Properties of the multi-role pool. /// - /// - /// Include instance details + /// + /// The headers that will be added to request. /// - /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateMultiRolePoolWithHttpMessagesAsync(string resourceGroupName, string name, WorkerPool multiRolePoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Resume an App Service Environment. + /// + /// + /// Resume an App Service Environment. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -882,19 +1266,27 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWebWorkerMetricsWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> BeginResumeWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get available skus for scaling a worker pool. + /// Suspend an App Service Environment. /// - /// Get available skus for scaling a worker pool. + /// + /// Suspend an App Service Environment. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) - /// - /// - /// Name of worker pool + /// Name of the App Service Environment. /// /// /// The headers that will be added to request. @@ -902,21 +1294,33 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWorkerPoolSkusWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> BeginSuspendWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get usages for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Create or update a worker pool. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Create or update a worker pool. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of AppServiceEnvironment (App Service Environment) + /// Name of the App Service Environment. /// /// - /// Name of worker pool + /// Name of the worker pool. + /// + /// + /// Properties of the worker pool. /// /// /// The headers that will be added to request. @@ -924,13 +1328,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWebWorkerUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateWorkerPoolWithHttpMessagesAsync(string resourceGroupName, string name, string workerPoolName, WorkerPool workerPoolEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all hostingEnvironments (App Service Environment) for a - /// subscription + /// Get all App Service Environments for a subscription. /// - /// Gets all hostingEnvironments (App Service Environment) for a - /// subscription + /// + /// Get all App Service Environments for a subscription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -940,13 +1353,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all hostingEnvironments (App Service Environments) in a - /// resource group. + /// Get all App Service Environments in a resource group. /// - /// Get all hostingEnvironments (App Service Environments) in a - /// resource group. + /// + /// Get all App Service Environments in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -956,13 +1378,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get used, available, and total worker capacity for - /// AppServiceEnvironment (App Service Environment). + /// Get the used, available, and total worker capacity an App Service + /// Environment. /// - /// Get used, available, and total worker capacity for - /// AppServiceEnvironment (App Service Environment). + /// + /// Get the used, available, and total worker capacity an App Service + /// Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -972,13 +1405,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListCapacitiesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get global metrics of AppServiceEnvironment (App Service - /// Environment). + /// Get global metrics of an App Service Environment. /// - /// Get global metrics of AppServiceEnvironment (App Service - /// Environment). + /// + /// Get global metrics of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -988,11 +1430,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all multi role pools + /// Get all multi-role pools. /// - /// Get all multi role pools + /// + /// Get all multi-role pools. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1002,13 +1455,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRolePoolsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metric definitions for a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a specific instance of a multi-role pool + /// of an App Service Environment. /// - /// Get metric definitions for a multiRole pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a specific instance of a multi-role pool + /// of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1018,13 +1482,51 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListMultiRoleMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMultiRolePoolInstanceMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get metrics for a specific instance of a multi-role pool of an App + /// Service Environment. /// - /// Get metrics for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get metrics for a specific instance of a multi-role pool of an App + /// Service Environment. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMultiRolePoolInstanceMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get metric definitions for a multi-role pool of an App Service + /// Environment. + /// + /// + /// Get metric definitions for a multi-role pool of an App Service + /// Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1034,11 +1536,47 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMultiRoleMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// + /// + /// Get metrics for a multi-role pool of an App Service Environment. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRoleMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get available skus for scaling a multiRole pool. + /// Get available SKUs for scaling a multi-role pool. /// - /// Get available skus for scaling a multiRole pool. + /// + /// Get available SKUs for scaling a multi-role pool. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1048,13 +1586,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRolePoolSkusNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get usage metrics for a multi-role pool of an App Service + /// Environment. /// - /// Get usages for a multiRole pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get usage metrics for a multi-role pool of an App Service + /// Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1064,11 +1613,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMultiRoleUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Resumes the AppServiceEnvironment. + /// Resume an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Resume an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1078,11 +1638,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ResumeNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Resumes the AppServiceEnvironment. + /// Get all App Service plans in an App Service Environment. /// - /// Resumes the AppServiceEnvironment. + /// + /// Get all App Service plans in an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1092,13 +1663,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> BeginResumeNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListAppServicePlansNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all serverfarms (App Service Plans) on the - /// AppServiceEnvironment (App Service Environment). + /// Get all apps in an App Service Environment. /// - /// Get all serverfarms (App Service Plans) on the - /// AppServiceEnvironment (App Service Environment). + /// + /// Get all apps in an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1108,13 +1688,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListAppServicePlansNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebAppsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all sites on the AppServiceEnvironment (App Service - /// Environment). + /// Suspend an App Service Environment. /// - /// Get all sites on the AppServiceEnvironment (App Service - /// Environment). + /// + /// Suspend an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1124,11 +1713,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWebAppsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> SuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Suspends the AppServiceEnvironment. + /// Get global usage metrics of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get global usage metrics of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1138,11 +1738,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> SuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Suspends the AppServiceEnvironment. + /// Get all worker pools of an App Service Environment. /// - /// Suspends the AppServiceEnvironment. + /// + /// Get all worker pools of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1152,13 +1763,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> BeginSuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWorkerPoolsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get global usages of AppServiceEnvironment (App Service - /// Environment). + /// Get metric definitions for a specific instance of a worker pool of + /// an App Service Environment. /// - /// Get global usages of AppServiceEnvironment (App Service - /// Environment). + /// + /// Get metric definitions for a specific instance of a worker pool of + /// an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1168,11 +1790,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWorkerPoolInstanceMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all worker pools + /// Get metrics for a specific instance of a worker pool of an App + /// Service Environment. /// - /// Get all worker pools + /// + /// Get metrics for a specific instance of a worker pool of an App + /// Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1182,13 +1817,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWorkerPoolsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWorkerPoolInstanceMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get metric definitions for a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// Get metric definitions for a worker pool of an App Service + /// Environment. /// - /// Get metric definitions for a worker pool of a - /// AppServiceEnvironment (App Service Environment). + /// + /// Get metric definitions for a worker pool of an App Service + /// Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1198,13 +1844,24 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// - Task>> ListWebWorkerMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebWorkerMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Get metrics for a worker pool of a AppServiceEnvironment (App /// Service Environment). /// + /// /// Get metrics for a worker pool of a AppServiceEnvironment (App /// Service Environment). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1214,11 +1871,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWebWorkerMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get available skus for scaling a worker pool. + /// Get available SKUs for scaling a worker pool. /// - /// Get available skus for scaling a worker pool. + /// + /// Get available SKUs for scaling a worker pool. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1228,13 +1896,22 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWorkerPoolSkusNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get usages for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// Get usage metrics for a worker pool of an App Service Environment. /// - /// Get usages for a worker pool of a AppServiceEnvironment (App - /// Service Environment). + /// + /// Get usage metrics for a worker pool of an App Service Environment. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -1244,6 +1921,66 @@ public partial interface IAppServiceEnvironmentsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWebWorkerUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Resume an App Service Environment. + /// + /// + /// Resume an App Service Environment. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> BeginResumeNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Suspend an App Service Environment. + /// + /// + /// Suspend an App Service Environment. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> BeginSuspendNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServicePlansOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServicePlansOperations.cs index 3fba3532c042..fc91f15e8694 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServicePlansOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IAppServicePlansOperations.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// AppServicePlansOperations operations. @@ -23,14 +24,16 @@ namespace Microsoft.Azure.Management.WebSites public partial interface IAppServicePlansOperations { /// - /// Gets all App Service Plans for a subcription + /// Get all App Service plans for a subcription. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all App Service plans for a subcription. + /// /// - /// False to return a subset of App Service Plan properties, true to - /// return all of the properties. - /// Retrieval of all properties may increase the API - /// latency. + /// Specify <code>true</code> to return all App Service + /// plan properties. The default is <code>false</code>, + /// which returns a subset of the properties. + /// Retrieval of all properties may increase the API latency. /// /// /// The headers that will be added to request. @@ -38,15 +41,24 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWithHttpMessagesAsync(bool? detailed = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets collection of App Service Plans in a resource group for a - /// given subscription. + /// Get all App Service plans in a resource group. /// - /// Gets collection of App Service Plans in a resource group for a - /// given subscription. + /// + /// Get all App Service plans in a resource group. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// The headers that will be added to request. @@ -54,16 +66,27 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets specified App Service Plan in a resource group + /// Get an App Service plan. /// - /// Gets specified App Service Plan in a resource group + /// + /// Get an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The headers that will be added to request. @@ -71,45 +94,30 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates or updates an App Service Plan - /// - /// Creates or updates an App Service Plan - /// - /// Name of resource group - /// - /// - /// Name of App Service Plan - /// - /// - /// Details of App Service Plan - /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Creates or updates an App Service Plan + /// Creates or updates an App Service Plan. /// - /// Creates or updates an App Service Plan + /// + /// Creates or updates an App Service Plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Details of App Service Plan - /// - /// - /// OBSOLETE: If true, allow pending state for App Service Plan + /// Details of the App Service plan. /// /// /// The headers that will be added to request. @@ -117,16 +125,27 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, bool? allowPendingState = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes a App Service Plan + /// Delete an App Service plan. /// - /// Deletes a App Service Plan + /// + /// Delete an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The headers that will be added to request. @@ -134,16 +153,24 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List serverfarm capabilities + /// List all capabilities of an App Service plan. /// - /// List serverfarm capabilities + /// + /// List all capabilities of an App Service plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// /// The headers that will be added to request. @@ -151,24 +178,33 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListCapabilitiesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this - /// App Service Plan. + /// Retrieve a Hybrid Connection in use in an App Service plan. /// - /// Retrieves a specific Service Bus Hybrid Connection in use on this - /// App Service Plan. + /// + /// Retrieve a Hybrid Connection in use in an App Service plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay + /// Name of the Service Bus relay. /// /// /// The headers that will be added to request. @@ -176,29 +212,33 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates an existing Service Bus Hybrid Connection in use on this - /// App Service Plan. This will fail if the Hybrid Connection does - /// not already exist. + /// Delete a Hybrid Connection in use in an App Service plan. /// - /// Updates an existing Service Bus Hybrid Connection in use on this - /// App Service Plan. This will fail if the Hybrid Connection does - /// not already exist. + /// + /// Delete a Hybrid Connection in use in an App Service plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// Name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay - /// - /// - /// The hybrid connection entity + /// Name of the Service Bus relay. /// /// /// The headers that will be added to request. @@ -206,47 +246,30 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> UpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connection, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes an existing Service Bus Hybrid Connection in use on this - /// App Service Plan. + /// Get the send key name and value of a Hybrid Connection. /// - /// Deletes an existing Service Bus Hybrid Connection in use on this - /// App Service Plan. + /// + /// Get the send key name and value of a Hybrid Connection. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the Service Bus Namespace + /// The name of the Service Bus namespace. /// /// - /// The name of the Service Bus Relay - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Gets the send key name and value for this Hybrid Connection - /// - /// Gets the send key name and value for this Hybrid Connection - /// - /// The resource group name - /// - /// - /// The name of the App Service Plan - /// - /// - /// The name of the Service Bus Namespace - /// - /// - /// The name of the Service Bus Relay + /// The name of the Service Bus relay. /// /// /// The headers that will be added to request. @@ -254,24 +277,33 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListHybridConnectionKeysWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a list of sites that are using a particular Hybrid Connection - /// on an App Service Plan + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// Gets a list of sites that are using a particular Hybrid Connection - /// on an App Service Plan + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The Hybrid Connection namespace + /// Name of the Hybrid Connection namespace. /// /// - /// The Hybrid Connection relay name + /// Name of the Hybrid Connection relay. /// /// /// The headers that will be added to request. @@ -279,18 +311,29 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> ListHybridConnectionWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebAppsByHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the maximum number of Hybrid Connections allowed on a - /// specified App Service Plan + /// Get the maximum number of Hybrid Connections allowed in an App + /// Service plan. /// - /// Gets the maximum number of Hybrid Connections allowed on a - /// specified App Service Plan + /// + /// Get the maximum number of Hybrid Connections allowed in an App + /// Service plan. + /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// /// The headers that will be added to request. @@ -298,18 +341,27 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> GetHybridConnectionPlanLimitWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetHybridConnectionPlanLimitWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves all Service Bus Hybrid Connections in use on this App - /// Service Plan + /// Retrieve all Hybrid Connections in use in an App Service plan. /// - /// Retrieves all Service Bus Hybrid Connections in use on this App - /// Service Plan + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// /// The headers that will be added to request. @@ -317,16 +369,29 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> ListHybridConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListHybridConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List of metrics that can be queried for an App Service Plan + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The headers that will be added to request. @@ -334,26 +399,38 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task>> ListMetricDefintionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMetricDefintionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Queries for App Serice Plan metrics + /// Get metrics for an App Serice plan. /// - /// Queries for App Serice Plan metrics + /// + /// Get metrics for an App Serice plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// If true, metrics are broken down per App Service Plan instance + /// Specify <code>true</code> to include instance details. + /// The default is <code>false</code>. /// /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(name.value eq 'Metric1' or + /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -361,41 +438,33 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a server farm operation - /// - /// Gets a server farm operation - /// - /// Name of resource group - /// - /// - /// Name of server farm - /// - /// - /// Id of Server farm operation"&gt; - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Restarts web apps in a specified App Service Plan + /// Restart all apps in an App Service plan. /// - /// Restarts web apps in a specified App Service Plan + /// + /// Restart all apps in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Soft restart applies the configuration settings and restarts the - /// apps if necessary. Hard restart always restarts and reprovisions - /// the apps + /// Specify <code>true</code> to performa a soft restart, + /// applies the configuration settings and restarts the apps if + /// necessary. The default is <code>false</code>, which + /// always restarts and reprovisions the apps /// /// /// The headers that will be added to request. @@ -403,22 +472,30 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> RestartWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RestartWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets list of Apps associated with an App Service Plan + /// Get all apps associated with an App Service plan. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get all apps associated with an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Skip to of web apps in a list. If specified, the resulting list - /// will contain web apps starting from (including) the skipToken. - /// Else, the resulting list contains web apps from the start of the - /// list + /// Skip to a web app in the list of webapps associated with app + /// service plan. If specified, the resulting list will contain web + /// apps starting from (including) the skipToken. Otherwise, the + /// resulting list contains web apps from the start of the list /// /// /// Supported filter: $filter=state eq running. Returns only web apps @@ -433,16 +510,27 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWebAppsWithHttpMessagesAsync(string resourceGroupName, string name, string skipToken = default(string), string filter = default(string), string top = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets list of vnets associated with App Service Plan + /// Get all Virtual Networks associated with an App Service plan. /// - /// Gets list of vnets associated with App Service Plan + /// + /// Get all Virtual Networks associated with an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// /// The headers that will be added to request. @@ -450,19 +538,30 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListVnetsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a vnet associated with an App Service Plan + /// Get a Virtual Network associated with an App Service plan. /// - /// Gets a vnet associated with an App Service Plan + /// + /// Get a Virtual Network associated with an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// /// The headers that will be added to request. @@ -470,19 +569,30 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetVnetFromServerFarmWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the vnet gateway. + /// Get a Virtual Network gateway. /// - /// Gets the vnet gateway. + /// + /// Get a Virtual Network gateway. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the App Service Plan + /// Name of the App Service plan. /// /// - /// Name of the virtual network + /// Name of the Virtual Network. /// /// /// Name of the gateway. Only the 'primary' gateway is supported. @@ -493,25 +603,36 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetVnetGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the vnet gateway + /// Update a Virtual Network gateway. /// - /// Updates the vnet gateway + /// + /// Update a Virtual Network gateway. + /// /// - /// The resource group + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the App Service Plan + /// Name of the App Service plan. /// /// - /// The name of the virtual network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. Only 'primary' is supported. + /// Name of the gateway. Only the 'primary' gateway is supported. /// /// - /// The gateway entity. + /// Definition of the gateway. /// /// /// The headers that will be added to request. @@ -519,21 +640,32 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateVnetGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a list of all routes associated with a vnet, in an app - /// service plan + /// Get all routes that are associated with a Virtual Network in an App + /// Service plan. /// - /// Gets a list of all routes associated with a vnet, in an app - /// service plan + /// + /// Get all routes that are associated with a Virtual Network in an App + /// Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// /// The headers that will be added to request. @@ -541,24 +673,33 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task>> ListtRoutesForVnetWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListRoutesForVnetWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a specific route associated with a vnet, in an app service - /// plan + /// Get a Virtual Network route in an App Service plan. /// - /// Gets a specific route associated with a vnet, in an app service - /// plan + /// + /// Get a Virtual Network route in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// /// The headers that will be added to request. @@ -566,27 +707,36 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> GetRouteForVnetWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new route or updates an existing route for a vnet in an - /// app service plan. + /// Create or update a Virtual Network route in an App Service plan. /// - /// Creates a new route or updates an existing route for a vnet in an - /// app service plan. + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// - /// The route object + /// Definition of the Virtual Network route. /// /// /// The headers that will be added to request. @@ -594,22 +744,33 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes an existing route for a vnet in an app service plan. + /// Delete a Virtual Network route in an App Service plan. /// - /// Deletes an existing route for a vnet in an app service plan. + /// + /// Delete a Virtual Network route in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// /// The headers that will be added to request. @@ -617,27 +778,33 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> DeleteVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new route or updates an existing route for a vnet in an - /// app service plan. + /// Create or update a Virtual Network route in an App Service plan. /// - /// Creates a new route or updates an existing route for a vnet in an - /// app service plan. + /// + /// Create or update a Virtual Network route in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of App Service Plan + /// Name of the App Service plan. /// /// - /// Name of virtual network + /// Name of the Virtual Network. /// /// - /// Name of the virtual network route + /// Name of the Virtual Network route. /// /// - /// The route object + /// Definition of the Virtual Network route. /// /// /// The headers that will be added to request. @@ -645,21 +812,58 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateVnetRouteWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string routeName, VnetRoute route, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Submit a reboot request for a worker machine in the specified - /// server farm + /// Reboot a worker machine in an App Service plan. /// - /// Submit a reboot request for a worker machine in the specified - /// server farm + /// + /// Reboot a worker machine in an App Service plan. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of server farm + /// Name of the App Service plan. /// /// - /// Name of worker machine, typically starts with RD + /// Name of worker machine, which typically starts with RD. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RebootWorkerWithHttpMessagesAsync(string resourceGroupName, string name, string workerName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Creates or updates an App Service Plan. + /// + /// + /// Creates or updates an App Service Plan. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the App Service plan. + /// + /// + /// Details of the App Service plan. /// /// /// The headers that will be added to request. @@ -667,11 +871,22 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task> RebootWorkerWithHttpMessagesAsync(string resourceGroupName, string name, string workerName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, AppServicePlan appServicePlan, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all App Service Plans for a subcription + /// Get all App Service plans for a subcription. /// - /// Gets all App Service Plans for a subcription + /// + /// Get all App Service plans for a subcription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -681,13 +896,22 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets collection of App Service Plans in a resource group for a - /// given subscription. + /// Get all App Service plans in a resource group. /// - /// Gets collection of App Service Plans in a resource group for a - /// given subscription. + /// + /// Get all App Service plans in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -697,11 +921,22 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List of metrics that can be queried for an App Service Plan + /// Get all apps that use a Hybrid Connection in an App Service Plan. /// - /// List of metrics that can be queried for an App Service Plan + /// + /// Get all apps that use a Hybrid Connection in an App Service Plan. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -711,11 +946,22 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// - Task>> ListMetricDefintionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWebAppsByHybridConnectionNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Queries for App Serice Plan metrics + /// Retrieve all Hybrid Connections in use in an App Service plan. /// - /// Queries for App Serice Plan metrics + /// + /// Retrieve all Hybrid Connections in use in an App Service plan. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -725,11 +971,74 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListHybridConnectionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// + /// + /// Get metrics that can be queried for an App Service plan, and their + /// definitions. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMetricDefintionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get metrics for an App Serice plan. + /// + /// + /// Get metrics for an App Serice plan. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets list of Apps associated with an App Service Plan + /// Get all apps associated with an App Service plan. /// - /// Gets list of Apps associated with an App Service Plan + /// + /// Get all apps associated with an App Service plan. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -739,6 +1048,16 @@ public partial interface IAppServicePlansOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWebAppsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ICertificatesOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ICertificatesOperations.cs index 0e79bf0b87d5..09da0119a83a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ICertificatesOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ICertificatesOperations.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// CertificatesOperations operations. @@ -23,24 +24,35 @@ namespace Microsoft.Azure.Management.WebSites public partial interface ICertificatesOperations { /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get certificates for a subscription in the specified resource - /// group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource - /// group. + /// + /// Get all certificates in a resource group. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// The headers that will be added to request. @@ -48,15 +60,24 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get a certificate by certificate name for a subscription in the - /// specified resource group. + /// Get a certificate. /// - /// Get a certificate by certificate name for a subscription in the - /// specified resource group. + /// + /// Get a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. @@ -67,19 +88,30 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// /// /// The headers that will be added to request. @@ -87,18 +119,27 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Certificate certificateEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// Delete a certificate. /// - /// Delete a certificate by name in a specificed subscription and - /// resourcegroup. + /// + /// Delete a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate to be deleted. + /// Name of the certificate. /// /// /// The headers that will be added to request. @@ -106,19 +147,27 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// - Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates or modifies an existing certificate. + /// Create or update a certificate. /// - /// Creates or modifies an existing certificate. + /// + /// Create or update a certificate. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate. /// /// - /// Details of certificate if it exists already. + /// Details of certificate, if it exists already. /// /// /// The headers that will be added to request. @@ -126,15 +175,24 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateWithHttpMessagesAsync(string resourceGroupName, string name, Certificate certificateEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the certificate signing requests for a subscription in the - /// specified resource group + /// Get all certificate signing requests in a resource group. /// - /// Gets the certificate signing requests for a subscription in the - /// specified resource group + /// + /// Get all certificate signing requests in a resource group. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// The headers that will be added to request. @@ -142,18 +200,27 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// - Task>> ListCsrsWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListSigningRequestByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a certificate signing request by certificate name for a - /// subscription in the specified resource group + /// Get a certificate signing request. /// - /// Gets a certificate signing request by certificate name for a - /// subscription in the specified resource group + /// + /// Get a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// /// The headers that will be added to request. @@ -161,19 +228,30 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// - Task> GetCsrWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// /// /// The headers that will be added to request. @@ -181,13 +259,24 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// - Task> CreateOrUpdateCsrWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete the certificate signing request. + /// Delete a certificate signing request. /// - /// Delete the certificate signing request. + /// + /// Delete a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of the certificate signing request. @@ -198,19 +287,27 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// - Task> DeleteCsrWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates or modifies an existing certificate signing request. + /// Create or update a certificate signing request. /// - /// Creates or modifies an existing certificate signing request. + /// + /// Create or update a certificate signing request. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the certificate. + /// Name of the certificate signing request. /// /// - /// Details of certificate signing request if it exists already. + /// Details of certificate signing request, if it exists already. /// /// /// The headers that will be added to request. @@ -218,11 +315,22 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// - Task> UpdateCsrWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> UpdateSigningRequestWithHttpMessagesAsync(string resourceGroupName, string name, Csr csrEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get all certificates for a subscription + /// Get all certificates for a subscription. /// - /// Get all certificates for a subscription + /// + /// Get all certificates for a subscription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -232,13 +340,22 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get certificates for a subscription in the specified resource - /// group. + /// Get all certificates in a resource group. /// - /// Get certificates for a subscription in the specified resource - /// group. + /// + /// Get all certificates in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -248,6 +365,41 @@ public partial interface ICertificatesOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// Get all certificate signing requests in a resource group. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListSigningRequestByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IDeletedWebAppsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IDeletedWebAppsOperations.cs new file mode 100644 index 000000000000..e0456842f582 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IDeletedWebAppsOperations.cs @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites +{ + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// DeletedWebAppsOperations operations. + /// + public partial interface IDeletedWebAppsOperations + { + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get all deleted apps for a subscription. + /// + /// + /// Get all deleted apps for a subscription. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Gets deleted web apps in subscription. + /// + /// + /// Gets deleted web apps in subscription. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IDomainsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IDomainsOperations.cs index 45b1cdf40b57..80527d2c9b07 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IDomainsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IDomainsOperations.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// DomainsOperations operations. @@ -23,11 +24,13 @@ namespace Microsoft.Azure.Management.WebSites public partial interface IDomainsOperations { /// - /// Checks if a domain is available for registration + /// Check if a domain is available for registration. /// - /// Checks if a domain is available for registration + /// + /// Check if a domain is available for registration. + /// /// - /// Name of the domain + /// Name of the domain. /// /// /// The headers that will be added to request. @@ -35,35 +38,68 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CheckAvailabilityWithHttpMessagesAsync(NameIdentifier identifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all domains in a subscription + /// Get all domains in a subscription. /// - /// Lists all domains in a subscription + /// + /// Get all domains in a subscription. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Generates a single sign on request for domain management portal + /// Generate a single sign-on request for the domain management portal. /// - /// Generates a single sign on request for domain management portal + /// + /// Generate a single sign-on request for the domain management portal. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetControlCenterSsoRequestWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// - /// Domain recommendation search parameters + /// Search parameters for domain name recommendations. /// /// /// The headers that will be added to request. @@ -71,13 +107,24 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListRecommendationsWithHttpMessagesAsync(DomainRecommendationSearchParameters parameters, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Validates domain registration information + /// Get all domains in a resource group. /// - /// Validates domain registration information - /// - /// Domain registration information + /// + /// Get all domains in a resource group. + /// + /// + /// Name of the resource group to which the resource belongs. /// /// /// The headers that will be added to request. @@ -85,13 +132,27 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// - Task> ValidatePurchaseInformationWithHttpMessagesAsync(DomainRegistrationInput domainRegistrationInput, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists domains under a resource group + /// Get a domain. /// - /// Lists domains under a resource group + /// + /// Get a domain. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the domain. /// /// /// The headers that will be added to request. @@ -99,16 +160,30 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// - Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetWithHttpMessagesAsync(string resourceGroupName, string domainName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets details of a domain + /// Creates or updates a domain. /// - /// Gets details of a domain + /// + /// Creates or updates a domain. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. + /// + /// + /// Domain registration information. /// /// /// The headers that will be added to request. @@ -116,19 +191,32 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// - Task> GetWithHttpMessagesAsync(string resourceGroupName, string domainName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a domain + /// Delete a domain. /// - /// Creates a domain + /// + /// Delete a domain. + /// /// - /// &gt;Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. /// - /// - /// Domain registration information + /// + /// Specify <code>true</code> to delete the domain + /// immediately. The default is <code>false</code> which + /// deletes the domain after 24 hours. /// /// /// The headers that will be added to request. @@ -136,19 +224,55 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// - Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a domain + /// Lists domain ownership identifiers. /// - /// Creates a domain + /// + /// Lists domain ownership identifiers. + /// /// - /// &gt;Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// Domain registration information + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListOwnershipIdentifiersWithHttpMessagesAsync(string resourceGroupName, string domainName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get ownership identifier for domain + /// + /// + /// Get ownership identifier for domain + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// Name of identifier. /// /// /// The headers that will be added to request. @@ -156,20 +280,99 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// - Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes a domain + /// Creates an ownership identifier for a domain or updates identifier + /// details for an existing identifer /// - /// Deletes a domain + /// + /// Creates an ownership identifier for a domain or updates identifier + /// details for an existing identifer + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of domain. /// - /// - /// If true then the domain will be deleted immediately instead of - /// after 24 hours + /// + /// Name of identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Delete ownership identifier for domain + /// + /// + /// Delete ownership identifier for domain + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// Name of identifier. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Creates an ownership identifier for a domain or updates identifier + /// details for an existing identifer + /// + /// + /// Creates an ownership identifier for a domain or updates identifier + /// details for an existing identifer + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of domain. + /// + /// + /// Name of identifier. + /// + /// + /// A JSON representation of the domain ownership properties. /// /// /// The headers that will be added to request. @@ -177,19 +380,30 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// - Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string domainName, bool? forceHardDeleteDomain = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> UpdateOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string domainName, string name, DomainOwnershipIdentifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves the latest status of a domain purchase operation + /// Creates or updates a domain. /// - /// Retrieves the latest status of a domain purchase operation + /// + /// Creates or updates a domain. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the domain + /// Name of the domain. /// - /// - /// Domain purchase operation Id + /// + /// Domain registration information. /// /// /// The headers that will be added to request. @@ -197,11 +411,22 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// - Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string domainName, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string domainName, Domain domain, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all domains in a subscription + /// Get all domains in a subscription. /// - /// Lists all domains in a subscription + /// + /// Get all domains in a subscription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -211,11 +436,22 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists domain recommendations based on keywords + /// Get domain name recommendations based on keywords. /// - /// Lists domain recommendations based on keywords + /// + /// Get domain name recommendations based on keywords. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -225,11 +461,22 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListRecommendationsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists domains under a resource group + /// Get all domains in a resource group. /// - /// Lists domains under a resource group + /// + /// Get all domains in a resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -239,6 +486,41 @@ public partial interface IDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Lists domain ownership identifiers. + /// + /// + /// Lists domain ownership identifiers. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListOwnershipIdentifiersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IRecommendationsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IRecommendationsOperations.cs index 1291766962db..565dd5b7a52d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IRecommendationsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IRecommendationsOperations.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// RecommendationsOperations operations. @@ -23,20 +24,21 @@ namespace Microsoft.Azure.Management.WebSites public partial interface IRecommendationsOperations { /// - /// Gets a list of recommendations associated with the specified - /// subscription. + /// List all recommendations for a subscription. /// - /// Gets a list of recommendations associated with the specified - /// subscription. + /// + /// List all recommendations for a subscription. + /// /// - /// If set, this API returns only the most critical recommendation - /// among the others. Otherwise this API returns all recommendations - /// available + /// Specify <code>true</code> to return only the most + /// critical recommendations. The default is + /// <code>false</code>, which returns all recommendations. /// /// - /// Return only channels specified in the filter. Filter is specified - /// by using OData syntax. Example: $filter=channels eq 'Api' or - /// channel eq 'Notification' + /// Filter is specified by using OData syntax. Example: + /// $filter=channels eq 'Api' or channel eq 'Notification' and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[PT1H|PT1M|P1D] /// /// /// The headers that will be added to request. @@ -44,26 +46,54 @@ public partial interface IRecommendationsOperations /// /// The cancellation token. /// - Task>> GetWithHttpMessagesAsync(bool? featured = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWithHttpMessagesAsync(bool? featured = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the list of past recommendations optionally specified by the + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ResetAllFiltersWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get past recommendations for an app, optionally specified by the /// time range. /// - /// Gets the list of past recommendations optionally specified by the + /// + /// Get past recommendations for an app, optionally specified by the /// time range. + /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name - /// - /// - /// The start time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// Name of the app. /// - /// - /// The end time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// + /// Filter is specified by using OData syntax. Example: + /// $filter=channels eq 'Api' or channel eq 'Notification' and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[PT1H|PT1M|P1D] /// /// /// The headers that will be added to request. @@ -71,33 +101,65 @@ public partial interface IRecommendationsOperations /// /// The cancellation token. /// - Task>> ListHistoryForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, string startTime = default(string), string endTime = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListHistoryForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a list of recommendations associated with the specified web - /// site. + /// Get all recommendations for an app. /// - /// Gets a list of recommendations associated with the specified web - /// site. + /// + /// Get all recommendations for an app. + /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name + /// Name of the app. /// /// - /// If set, this API returns only the most critical recommendation - /// among the others. Otherwise this API returns all recommendations - /// available + /// Specify <code>true</code> to return only the most + /// critical recommendations. The default is + /// <code>false</code>, which returns all recommendations. + /// + /// + /// Return only channels specified in the filter. Filter is specified + /// by using OData syntax. Example: $filter=channels eq 'Api' or + /// channel eq 'Notification' + /// + /// + /// The headers that will be added to request. /// - /// - /// The name of web app SKU. + /// + /// The cancellation token. /// - /// - /// The number of site slots associated to the site + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListRecommendedRulesForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, bool? featured = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Disable all recommendations for an app. + /// + /// + /// Disable all recommendations for an app. + /// + /// + /// Name of the resource group to which the resource belongs. /// - /// - /// If greater than zero, this API scans the last active live site - /// symptoms, dynamically generate on-the-fly recommendations + /// + /// Name of the app. /// /// /// The headers that will be added to request. @@ -105,25 +167,56 @@ public partial interface IRecommendationsOperations /// /// The cancellation token. /// - Task>> ListRecommendedRulesForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, bool? featured = default(bool?), string webAppSku = default(string), int? numSlots = default(int?), int? liveHours = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DisableAllForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// Reset all recommendation opt-out settings for an app. /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// + /// Reset all recommendation opt-out settings for an app. + /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ResetAllFiltersForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get a recommendation rule for an app. + /// + /// + /// Get a recommendation rule for an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// - /// Recommendation rule name + /// Name of the recommendation. /// /// - /// If true, the backend updates the last seen timestamp of the - /// recommendation object. + /// Specify <code>true</code> to update the last-seen + /// timestamp of the recommendation object. /// /// /// The headers that will be added to request. @@ -131,6 +224,16 @@ public partial interface IRecommendationsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetRuleDetailsByWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, string name, bool? updateSeen = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ITopLevelDomainsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ITopLevelDomainsOperations.cs index 69e514a23276..4e5243efe2cc 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ITopLevelDomainsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/ITopLevelDomainsOperations.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// TopLevelDomainsOperations operations. @@ -23,22 +24,35 @@ namespace Microsoft.Azure.Management.WebSites public partial interface ITopLevelDomainsOperations { /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets details of a top level domain + /// Get details of a top-level domain. /// - /// Gets details of a top level domain + /// + /// Get details of a top-level domain. + /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// /// /// The headers that will be added to request. @@ -46,18 +60,29 @@ public partial interface ITopLevelDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists legal agreements that user needs to accept before purchasing - /// domain + /// Gets all legal agreements that user needs to accept before + /// purchasing a domain. /// - /// Lists legal agreements that user needs to accept before purchasing - /// domain + /// + /// Gets all legal agreements that user needs to accept before + /// purchasing a domain. + /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// /// - /// Domain agreement options + /// Domain agreement options. /// /// /// The headers that will be added to request. @@ -65,11 +90,22 @@ public partial interface ITopLevelDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListAgreementsWithHttpMessagesAsync(string name, TopLevelDomainAgreementOption agreementOption, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -79,13 +115,24 @@ public partial interface ITopLevelDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists legal agreements that user needs to accept before purchasing - /// domain + /// Gets all legal agreements that user needs to accept before + /// purchasing a domain. /// - /// Lists legal agreements that user needs to accept before purchasing - /// domain + /// + /// Gets all legal agreements that user needs to accept before + /// purchasing a domain. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -95,6 +142,16 @@ public partial interface ITopLevelDomainsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListAgreementsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebAppsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebAppsOperations.cs index 3f885c0c182c..2f083b52168a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebAppsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebAppsOperations.cs @@ -1,21 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; + using System.IO; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// WebAppsOperations operations. @@ -23,47 +25,40 @@ namespace Microsoft.Azure.Management.WebSites public partial interface IWebAppsOperations { /// - /// Gets all Web Apps for a subscription + /// Get all apps for a subscription. /// - /// Gets all Web Apps for a subscription + /// + /// Get all apps for a subscription. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets deleted web apps in subscription - /// - /// Gets deleted web apps in subscription - /// - /// Name of resource group - /// - /// - /// Additional web app properties included in the response - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task>> ListDeletedWithHttpMessagesAsync(string resourceGroupName, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Gets the web apps for a subscription in the specified resource - /// group + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets the web apps for a subscription in the specified resource - /// group + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// - /// Name of resource group - /// - /// - /// Additional web app properties included in the response + /// Name of the resource group to which the resource belongs. /// /// - /// Whether or not to include deployments slots in results + /// Specify <strong>true</strong> to include deployment + /// slots in results. The default is false, which only gives you the + /// production slot of all apps. /// /// /// The headers that will be added to request. @@ -71,19 +66,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, string propertiesToInclude = default(string), bool? includeSlots = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, bool? includeSlots = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get details of a web app + /// Gets the details of a web, mobile, or API app. /// - /// Get details of a web app + /// + /// Gets the details of a web, mobile, or API app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Additional web app properties included in the response + /// Name of the app. /// /// /// The headers that will be added to request. @@ -91,19 +94,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// /// - /// Details of web app if it exists already + /// A JSON representation of the app properties. See example. /// /// /// If true web app hostname is not registered with DNS on creation. @@ -126,58 +143,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new web app or modifies an existing web app. - /// - /// Creates a new web app or modifies an existing web app. - /// - /// Name of the resource group - /// - /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already - /// - /// - /// If true web app hostname is not registered with DNS on creation. - /// This parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with - /// web app are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS - /// - /// - /// Time to live in seconds for web app's default domain name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Deletes a web app + /// Deletes a web, mobile, or API app, or one of the deployment slots. /// - /// Deletes a web app + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app to delete. /// /// /// If true, web app metrics are also deleted /// /// - /// If true and App Service Plan is empty after web app deletion, App - /// Service Plan is also deleted + /// Specify true if the App Service plan will be empty after app + /// deletion and you want to delete the empty App Service plan. By + /// default, the empty App Service plan is not deleted. /// /// /// If true, DNS registration is skipped @@ -188,13 +182,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Analyze a custom hostname + /// Analyze a custom hostname. /// - /// Analyze a custom hostname + /// + /// Analyze a custom hostname. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -208,22 +210,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> AnalyzeCustomHostnameWithHttpMessagesAsync(string resourceGroupName, string name, string hostName = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Applies the configuration settings from the target slot onto the - /// current slot + /// current slot. /// + /// /// Applies the configuration settings from the target slot onto the - /// current slot + /// current slot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name. Settings from - /// that slot will be applied on the source slot + /// JSON object that contains the target slot name. See example. /// /// /// The headers that will be added to request. @@ -231,19 +243,28 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ApplySlotConfigToProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ApplySlotConfigToProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates web app backup + /// Creates a backup of an app. /// - /// Creates web app backup + /// + /// Creates a backup of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Backup configuration. You can use the JSON response from the POST + /// action as input here. /// /// /// The headers that will be added to request. @@ -251,16 +272,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> BackupWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -268,19 +300,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListBackupsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Discovers existing web app backups that can be restored + /// Discovers an existing app backup that can be restored from a blob + /// in Azure storage. /// - /// Discovers existing web app backups that can be restored + /// + /// Discovers an existing app backup that can be restored from a blob + /// in Azure storage. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on restore request + /// A RestoreRequest object that includes Azure storage URL and blog + /// name for discovery of backup. /// /// /// The headers that will be added to request. @@ -288,19 +334,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> DiscoverRestoreWithHttpMessagesAsync(string resourceGroupName, string name, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets status of a web app backup that may be in progress. + /// Gets a backup of an app by its ID. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// /// The headers that will be added to request. @@ -308,19 +365,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetBackupStatusWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes a backup from Azure Storage + /// Deletes a backup of an app by its ID. /// - /// Deletes a backup from Azure Storage + /// + /// Deletes a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// /// The headers that will be added to request. @@ -328,19 +396,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteBackupWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteBackupWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Gets status of a web app backup that may be in progress, including /// secrets associated with the backup, such as the Azure Storage SAS - /// URL. Also can be used to update the SAS URL for the backup if a - /// new URL is passed in the request body. + /// URL. Also can be used to update the SAS URL for the backup if a new + /// URL is passed in the request body. /// + /// /// Gets status of a web app backup that may be in progress, including /// secrets associated with the backup, such as the Azure Storage SAS - /// URL. Also can be used to update the SAS URL for the backup if a - /// new URL is passed in the request body. + /// URL. Also can be used to update the SAS URL for the backup if a new + /// URL is passed in the request body. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -357,19 +433,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListBackupStatusSecretsWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restores a web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Restores a web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup to restore + /// ID of the backup. /// /// /// Information on restore request @@ -380,42 +469,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> RestoreWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restores a web app - /// - /// Restores a web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginRestoreWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Updates the application settings of web app + /// Replaces the application settings of an app. /// - /// Updates the application settings of web app + /// + /// Replaces the application settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Application settings of web app + /// Application settings of the app. /// /// /// The headers that will be added to request. @@ -423,16 +500,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateApplicationSettingsWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary appSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the application settings of web app + /// Gets the application settings of an app. /// - /// Gets the application settings of web app + /// + /// Gets the application settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -440,15 +528,26 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListApplicationSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the Authentication / Authorization settings associated - /// with web app + /// Updates the Authentication / Authorization settings associated with + /// web app. /// - /// Updates the Authentication / Authorization settings associated - /// with web app + /// + /// Updates the Authentication / Authorization settings associated with + /// web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -462,18 +561,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateAuthSettingsWithHttpMessagesAsync(string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the Authentication / Authorization settings associated with - /// web app + /// Gets the Authentication/Authorization settings of an app. /// - /// Gets the Authentication / Authorization settings associated with - /// web app + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -481,19 +589,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListAuthSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetAuthSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates backup configuration of web app + /// Updates the backup configuration of an app. /// - /// Updates backup configuration of web app + /// + /// Updates the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Edited backup configuration. /// /// /// The headers that will be added to request. @@ -501,16 +620,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Removes the backup configuration for a web app + /// Deletes the backup configuration of an app. /// - /// Removes the backup configuration for a web app + /// + /// Deletes the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -518,16 +648,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the backup configuration for a web app + /// Gets the backup configuration of an app. /// - /// Gets the backup configuration for a web app + /// + /// Gets the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -535,19 +673,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the connection strings associated with web app + /// Replaces the connection strings of an app. /// - /// Updates the connection strings associated with web app + /// + /// Replaces the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Connection strings associated with web app + /// Connection strings of the app or deployment slot. See example. /// /// /// The headers that will be added to request. @@ -555,16 +704,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateConnectionStringsWithHttpMessagesAsync(string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the connection strings associated with web app + /// Gets the connection strings of an app. /// - /// Gets the connection strings associated with web app + /// + /// Gets the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -572,16 +732,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListConnectionStringsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app logs configuration + /// Gets the logging configuration of an app. /// - /// Gets the web app logs configuration + /// + /// Gets the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -589,19 +760,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetDiagnosticLogsConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the meta data for web app + /// Updates the logging configuration of an app. /// - /// Updates the meta data for web app + /// + /// Updates the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Site logs configuration + /// A SiteLogsConfig JSON object that contains the logging + /// configuration to change in the "properties" property. /// /// /// The headers that will be added to request. @@ -609,19 +792,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateDiagnosticLogsConfigWithHttpMessagesAsync(string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the meta data for web app + /// Replaces the metadata of an app. /// - /// Updates the meta data for web app + /// + /// Replaces the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Meta data of web app + /// Edited metadata of the app or deployment slot. See example. /// /// /// The headers that will be added to request. @@ -629,16 +823,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateMetadataWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary metadata, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app meta data. + /// Gets the metadata of an app. /// - /// Gets the web app meta data. + /// + /// Gets the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -646,16 +851,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListMetadataWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app publishing credentials + /// Gets the Git/FTP publishing credentials of an app. /// - /// Gets the web app publishing credentials + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -663,30 +879,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListPublishingCredentialsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app publishing credentials - /// - /// Gets the web app publishing credentials - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginListPublishingCredentialsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Updates the Push settings associated with web app + /// Updates the Push settings associated with web app. /// - /// Updates the Push settings associated with web app + /// + /// Updates the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -700,13 +910,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateSitePushSettingsWithHttpMessagesAsync(string resourceGroupName, string name, PushSettings pushSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the Push settings associated with web app + /// Gets the Push settings associated with web app. /// - /// Gets the Push settings associated with web app + /// + /// Gets the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -717,18 +938,29 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListSitePushSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the names of application settings and connection string that - /// remain with the slot during swap operation + /// Gets the names of app settings and connection strings that stick to + /// the slot (not swapped). /// - /// Gets the names of application settings and connection string that - /// remain with the slot during swap operation + /// + /// Gets the names of app settings and connection strings that stick to + /// the slot (not swapped). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -736,22 +968,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListSlotConfigurationNamesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Updates the names of application settings and connection string - /// that remain with the slot during swap operation + /// that remain with the slot during swap operation. /// + /// /// Updates the names of application settings and connection string - /// that remain with the slot during swap operation + /// that remain with the slot during swap operation. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body containing the names of application settings and - /// connection strings + /// Names of application settings and connection strings. See example. /// /// /// The headers that will be added to request. @@ -759,16 +1001,29 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateSlotConfigurationNamesWithHttpMessagesAsync(string resourceGroupName, string name, SlotConfigNamesResource slotConfigNames, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the configuration of the web app + /// Gets the configuration of an app, such as platform version and + /// bitness, default documents, virtual applications, Always On, etc. /// - /// Gets the configuration of the web app + /// + /// Gets the configuration of an app, such as platform version and + /// bitness, default documents, virtual applications, Always On, etc. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -776,20 +1031,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web - /// app + /// JSON representation of a SiteConfig object. See example. /// /// /// The headers that will be added to request. @@ -797,20 +1062,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web - /// app + /// JSON representation of a SiteConfig object. See example. /// /// /// The headers that will be added to request. @@ -818,16 +1093,122 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// Gets a list of web app configuration snapshots identifiers. Each + /// element of the list contains a timestamp and the ID of the + /// snapshot. /// - /// List deployments + /// + /// Gets a list of web app configuration snapshots identifiers. Each + /// element of the list contains a timestamp and the ID of the + /// snapshot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListConfigurationSnapshotInfoWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Gets a snapshot of the configuration of an app at a previous point + /// in time. + /// + /// + /// Gets a snapshot of the configuration of an app at a previous point + /// in time. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// The ID of the snapshot to read. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetConfigurationSnapshotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Reverts the configuration of an app to a previous snapshot. + /// + /// + /// Reverts the configuration of an app to a previous snapshot. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// The ID of the snapshot to read. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RecoverSiteConfigurationSnapshotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// /// The headers that will be added to request. @@ -835,19 +1216,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListDeploymentsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get the deployment + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Get the deployment + /// + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// /// The headers that will be added to request. @@ -855,22 +1249,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create a deployment + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. /// - /// Create a deployment + /// + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// ID of an existing deployment. /// /// - /// Details of deployment + /// Deployment details. /// /// /// The headers that will be added to request. @@ -878,19 +1285,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete the deployment + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. /// - /// Delete the deployment + /// + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// /// The headers that will be added to request. @@ -898,16 +1318,183 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get web app hostname bindings + /// Lists ownership identifiers for domain associated with web app. /// - /// Get web app hostname bindings + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListDomainOwnershipIdentifiersWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get domain ownership identifier for web app. + /// + /// + /// Get domain ownership identifier for web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Deletes a domain ownership identifier for a web app. + /// + /// + /// Deletes a domain ownership identifier for a web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> UpdateDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get hostname bindings for an app or a deployment slot. + /// + /// + /// Get hostname bindings for an app or a deployment slot. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// /// The headers that will be added to request. @@ -915,19 +1502,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListHostNameBindingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get web app binding for a hostname + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). /// - /// Get web app binding for a hostname + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of host + /// Hostname in the hostname binding. /// /// /// The headers that will be added to request. @@ -935,22 +1535,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a web app hostname binding + /// Creates a hostname binding for an app. /// - /// Creates a web app hostname binding + /// + /// Creates a hostname binding for an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of host + /// Hostname in the hostname binding. /// /// - /// Host name binding information + /// Binding details. This is the JSON representation of a + /// HostNameBinding object. /// /// /// The headers that will be added to request. @@ -958,19 +1570,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes a host name binding + /// Deletes a hostname binding for an app. /// - /// Deletes a host name binding + /// + /// Deletes a hostname binding for an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of host + /// Hostname in the hostname binding. /// /// /// The headers that will be added to request. @@ -978,15 +1601,23 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a specific Service Bus Hybrid Connection used by this - /// Web App. + /// Retrieves a specific Service Bus Hybrid Connection used by this Web + /// App. /// - /// Retrieves a specific Service Bus Hybrid Connection used by this - /// Web App. + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web + /// App. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -1003,13 +1634,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -1029,13 +1671,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Removes a Hybrid Connection from this site. /// + /// /// Removes a Hybrid Connection from this site. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -1052,13 +1705,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -1078,13 +1739,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the send key name and value for a Hybrid Connection + /// Gets the send key name and value for a Hybrid Connection. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// Gets the send key name and value for a Hybrid Connection. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -1101,13 +1773,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListHybridConnectionKeysWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> ListHybridConnectionKeysWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Retrieves all Service Bus Hybrid Connections used by this Web App. /// + /// /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -1118,18 +1801,29 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListHybridConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves all Biztalk Hybrid Connections associated with this web - /// app. + /// Gets hybrid connections configured for an app (or deployment slot, + /// if specified). /// - /// Retrieves all Biztalk Hybrid Connections associated with this web - /// app. + /// + /// Gets hybrid connections configured for an app (or deployment slot, + /// if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1137,21 +1831,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListRelayServiceConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity - /// name. + /// Gets a hybrid connection configuration by its name. /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity - /// name. + /// + /// Gets a hybrid connection configuration by its name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection. /// /// /// The headers that will be added to request. @@ -1159,24 +1862,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection configuration. /// /// - /// The details of the Hybrid Connection + /// Details of the hybrid connection configuration. /// /// /// The headers that will be added to request. @@ -1184,21 +1898,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Removes the association to a Biztalk Hybrid Connection, identified - /// by its entity name. + /// Deletes a relay service connection by its name. /// - /// Removes the association to a Biztalk Hybrid Connection, identified - /// by its entity name. + /// + /// Deletes a relay service connection by its name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection configuration. /// /// /// The headers that will be added to request. @@ -1206,24 +1929,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection configuration. /// /// - /// The details of the Hybrid Connection + /// Details of the hybrid connection configuration. /// /// /// The headers that will be added to request. @@ -1231,16 +1962,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1248,19 +1990,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceIdentifiersWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of web app instance + /// The ID of a specific scaled-out instance. This is the value of the + /// name property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// /// The headers that will be added to request. @@ -1268,22 +2025,37 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceDeploymentsWithHttpMessagesAsync(string resourceGroupName, string name, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get the deployment + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Get the deployment + /// + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// - /// Id of web app instance + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// /// The headers that will be added to request. @@ -1291,25 +2063,40 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create a deployment + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. /// - /// Create a deployment + /// + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// ID of an existing deployment. /// /// - /// Id of web app instance + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// - /// Details of deployment + /// Deployment details. /// /// /// The headers that will be added to request. @@ -1317,22 +2104,37 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete the deployment + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. /// - /// Delete the deployment + /// + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// - /// Id of web app instance + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// /// The headers that will be added to request. @@ -1340,16 +2142,26 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new web app or modifies an existing web app. + /// Shows whether an app can be cloned to another resource group or + /// subscription. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1357,16 +2169,29 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> IsCloneableWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1374,26 +2199,40 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if + /// specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// If true, metric details are included in response + /// Specify "true" to include metric details in the response. It is + /// "false" by default. /// /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// Return only metrics specified in the filter (using OData syntax). + /// For example: $filter=(name.value eq 'Metric1' or name.value eq + /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -1401,22 +2240,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restores a web app + /// Restores a web app. /// - /// Restores a web app + /// + /// Restores a web app. + /// /// /// Azure subscription /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Migration options + /// + /// Migration migrationOptions /// /// /// The headers that will be added to request. @@ -1424,22 +2274,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> MigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> MigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restores a web app + /// Migrates a local (in-app) MySql database to a remote MySql + /// database. /// - /// Restores a web app - /// - /// Azure subscription - /// + /// + /// Migrates a local (in-app) MySql database to a remote MySql + /// database. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Migration options + /// + /// MySql migration options /// /// /// The headers that will be added to request. @@ -1447,19 +2307,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> BeginMigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> MigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// Gets all network features used by the app (or deployment slot, if + /// specified). /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// MySql migration options + /// + /// The type of view. This can either be "summary" or "detailed". /// /// /// The headers that will be added to request. @@ -1467,59 +2340,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> MigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> ListNetworkFeaturesWithHttpMessagesAsync(string resourceGroupName, string name, string view, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// Start capturing network packets for the site. /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// + /// Start capturing network packets for the site. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// MySql migration options - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginMigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Retrieves a view of all network features in use on this web app. - /// - /// Retrieves a view of all network features in use on this web app. - /// - /// The resource group name - /// - /// - /// The name of the web app - /// - /// - /// The type of view. This can either be "summary" or "detailed". - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> ListNetworkFeaturesWithHttpMessagesAsync(string resourceGroupName, string name, string view, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Start capturing network packets for the site - /// - /// Start capturing network packets for the site - /// - /// The resource group name - /// - /// - /// The name of the web app - /// - /// - /// The duration to keep capturing in seconds + /// + /// The duration to keep capturing in seconds /// /// /// The headers that will be added to request. @@ -1527,13 +2371,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> StartWebSiteNetworkTraceWithHttpMessagesAsync(string resourceGroupName, string name, int? durationInSeconds = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Stop ongoing capturing network packets for the site + /// Stop ongoing capturing network packets for the site. /// - /// Stop ongoing capturing network packets for the site + /// + /// Stop ongoing capturing network packets for the site. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -1544,36 +2399,29 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> StopWebSiteNetworkTraceWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Generates new random app publishing password - /// - /// Generates new random app publishing password - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> GenerateNewSitePublishingPasswordWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Gets the operation for a web app + /// Generates a new publishing password for an app (or deployment slot, + /// if specified). /// - /// Gets the operation for a web app + /// + /// Generates a new publishing password for an app (or deployment slot, + /// if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of an operation + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1581,20 +2429,28 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task GenerateNewSitePublishingPasswordWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(startTime eq + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(startTime eq /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and /// timeGrain eq duration'[Hour|Minute|Day]'. /// @@ -1604,13 +2460,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListPerfMonCountersWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets sites's event logs + /// Gets web app's event logs. /// - /// Gets sites's event logs + /// + /// Gets web app's event logs. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -1621,16 +2488,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> GetSitePhpErrorLogFlagWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetSitePhpErrorLogFlagWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List premier add ons for web app + /// Gets the premier add-ons of an app. /// - /// List premier add ons for web app + /// + /// Gets the premier add-ons of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1638,19 +2516,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListPremierAddOnsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> ListPremierAddOnsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a specific premier add on + /// Gets a named add-on of an app. /// - /// Gets a specific premier add on + /// + /// Gets a named add-on of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// Premier add on + /// Add-on name. /// /// /// The headers that will be added to request. @@ -1658,22 +2547,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Add premier add-on + /// Updates a named add-on of an app. /// - /// Add premier add-on + /// + /// Updates a named add-on of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// Premier add on + /// Add-on name. /// /// - /// Premier add on request + /// A JSON representation of the edited premier add-on. /// /// /// The headers that will be added to request. @@ -1681,19 +2581,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> AddPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> AddPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete premier add-on + /// Delete a premier add-on from an app. /// - /// Delete premier add-on + /// + /// Delete a premier add-on from an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// Premier add on + /// Add-on name. /// /// /// The headers that will be added to request. @@ -1701,21 +2612,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeletePremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeletePremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the publishing profile for web app + /// Gets the publishing profile for an app (or deployment slot, if + /// specified). /// - /// Gets the publishing profile for web app + /// + /// Gets the publishing profile for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP - /// format. + /// + /// Specifies publishingProfileOptions for publishing profile. For + /// example, use {"format": "FileZilla3"} to get a FileZilla publishing + /// profile. /// /// /// The headers that will be added to request. @@ -1723,13 +2644,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListPublishingProfileXmlWithSecretsWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions options, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> ListPublishingProfileXmlWithSecretsWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Recovers a deleted web app + /// Recovers a deleted web app. /// - /// Recovers a deleted web app + /// + /// Recovers a deleted web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -1744,39 +2676,29 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> RecoverWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Recovers a deleted web app - /// - /// Recovers a deleted web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can - /// be obtained by calling GetDeletedSites or GetSiteSnapshots API. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginRecoverWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// previously modified by calling the API with POST. /// + /// /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// previously modified by calling the API with POST. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1784,24 +2706,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ResetProductionSlotConfigWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ResetProductionSlotConfigWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restarts web app + /// Restarts an app (or deployment slot, if specified). /// - /// Restarts web app + /// + /// Restarts an app (or deployment slot, if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Soft restart applies the configuration settings and restarts the - /// app if necessary. Hard restart always restarts and reprovisions - /// the app + /// Specify true to apply the configuration settings and restarts the + /// app only if necessary. By default, the API always restarts and + /// reprovisions the app. /// /// - /// If true then the API will block until the app has been restarted + /// Specify true to block until the app is restarted. By default, it is + /// set to false, and the API responds immediately (asynchronous). /// /// /// The headers that will be added to request. @@ -1809,19 +2740,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> RestartWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RestartWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all the slots for a web apps + /// Gets an app's deployment slots. /// - /// Gets all the slots for a web apps + /// + /// Gets an app's deployment slots. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// List of app properties to include in the response + /// Name of the app. /// /// /// The headers that will be added to request. @@ -1829,47 +2765,69 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListSlotsWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListSlotsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get details of a web app + /// Gets the details of a web, mobile, or API app. /// - /// Get details of a web app + /// + /// Gets the details of a web, mobile, or API app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to + /// Name of the deployment slot. By default, this API returns the /// production slot. /// - /// - /// Additional web app properties included in the response - /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// - Task> GetSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// /// - /// Details of web app if it exists already + /// A JSON representation of the app properties. See example. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot to create or update. By default, this + /// API attempts to create or modify the production slot. /// /// /// If true web app hostname is not registered with DNS on creation. @@ -1892,66 +2850,39 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateSlotWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new web app or modifies an existing web app. - /// - /// Creates a new web app or modifies an existing web app. - /// - /// Name of the resource group - /// - /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already - /// - /// - /// Name of web app slot. If not specified then will default to - /// production slot. - /// - /// - /// If true web app hostname is not registered with DNS on creation. - /// This parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with - /// web app are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS - /// - /// - /// Time to live in seconds for web app's default domain name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginCreateOrUpdateSlotWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Deletes a web app + /// Deletes a web, mobile, or API app, or one of the deployment slots. /// - /// Deletes a web app + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app to delete. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot to delete. By default, the API deletes + /// the production slot. /// /// /// If true, web app metrics are also deleted /// /// - /// If true and App Service Plan is empty after web app deletion, App - /// Service Plan is also deleted + /// Specify true if the App Service plan will be empty after app + /// deletion and you want to delete the empty App Service plan. By + /// default, the empty App Service plan is not deleted. /// /// /// If true, DNS registration is skipped @@ -1962,13 +2893,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Analyze a custom hostname + /// Analyze a custom hostname. /// - /// Analyze a custom hostname + /// + /// Analyze a custom hostname. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -1986,26 +2925,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> AnalyzeCustomHostnameSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Applies the configuration settings from the target slot onto the - /// current slot + /// current slot. /// + /// /// Applies the configuration settings from the target slot onto the - /// current slot + /// current slot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name. Settings from - /// that slot will be applied on the source slot + /// JSON object that contains the target slot name. See example. /// /// - /// Name of the source slot. Settings from the target slot will be - /// applied onto this slot + /// Name of the source slot. If a slot is not specified, the production + /// slot is used as the source slot. /// /// /// The headers that will be added to request. @@ -2013,23 +2962,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ApplySlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ApplySlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates web app backup + /// Creates a backup of an app. /// - /// Creates web app backup + /// + /// Creates a backup of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Backup configuration. You can use the JSON response from the POST + /// action as input here. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will create a backup for the production slot. /// /// /// The headers that will be added to request. @@ -2037,20 +2995,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> BackupSlotWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get backups of the production slot. /// /// /// The headers that will be added to request. @@ -2058,23 +3027,37 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListBackupsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Discovers existing web app backups that can be restored + /// Discovers an existing app backup that can be restored from a blob + /// in Azure storage. /// - /// Discovers existing web app backups that can be restored + /// + /// Discovers an existing app backup that can be restored from a blob + /// in Azure storage. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on restore request + /// A RestoreRequest object that includes Azure storage URL and blog + /// name for discovery of backup. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will perform discovery for the production slot. /// /// /// The headers that will be added to request. @@ -2082,23 +3065,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> DiscoverRestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets status of a web app backup that may be in progress. + /// Gets a backup of an app by its ID. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get a backup of the production slot. /// /// /// The headers that will be added to request. @@ -2106,23 +3100,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetBackupStatusSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes a backup from Azure Storage + /// Deletes a backup of an app by its ID. /// - /// Deletes a backup from Azure Storage + /// + /// Deletes a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete a backup of the production slot. /// /// /// The headers that will be added to request. @@ -2130,19 +3135,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteBackupSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteBackupSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Gets status of a web app backup that may be in progress, including /// secrets associated with the backup, such as the Azure Storage SAS - /// URL. Also can be used to update the SAS URL for the backup if a - /// new URL is passed in the request body. + /// URL. Also can be used to update the SAS URL for the backup if a new + /// URL is passed in the request body. /// + /// /// Gets status of a web app backup that may be in progress, including /// secrets associated with the backup, such as the Azure Storage SAS - /// URL. Also can be used to update the SAS URL for the backup if a - /// new URL is passed in the request body. + /// URL. Also can be used to update the SAS URL for the backup if a new + /// URL is passed in the request body. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -2163,26 +3176,39 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListBackupStatusSecretsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restores a web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Restores a web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup to restore + /// ID of the backup. /// /// /// Information on restore request /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will restore a backup of the production slot. /// /// /// The headers that will be added to request. @@ -2190,50 +3216,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> RestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restores a web app - /// - /// Restores a web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request - /// - /// - /// Name of web app slot. If not specified then will default to - /// production slot. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginRestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Updates the application settings of web app + /// Replaces the application settings of an app. /// - /// Updates the application settings of web app + /// + /// Replaces the application settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Application settings of web app + /// Application settings of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the application settings for the production slot. /// /// /// The headers that will be added to request. @@ -2241,20 +3251,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateApplicationSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary appSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the application settings of web app + /// Gets the application settings of an app. /// - /// Gets the application settings of web app + /// + /// Gets the application settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the application settings for the production slot. /// /// /// The headers that will be added to request. @@ -2262,15 +3283,26 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListApplicationSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the Authentication / Authorization settings associated - /// with web app + /// Updates the Authentication / Authorization settings associated with + /// web app. /// - /// Updates the Authentication / Authorization settings associated - /// with web app + /// + /// Updates the Authentication / Authorization settings associated with + /// web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -2288,22 +3320,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateAuthSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the Authentication / Authorization settings associated with - /// web app + /// Gets the Authentication/Authorization settings of an app. /// - /// Gets the Authentication / Authorization settings associated with - /// web app + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the settings for the production slot. /// /// /// The headers that will be added to request. @@ -2311,23 +3352,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListAuthSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetAuthSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates backup configuration of web app + /// Updates the backup configuration of an app. /// - /// Updates backup configuration of web app + /// + /// Updates the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Edited backup configuration. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the backup configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2335,20 +3387,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Removes the backup configuration for a web app + /// Deletes the backup configuration of an app. /// - /// Removes the backup configuration for a web app + /// + /// Deletes the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the backup configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2356,20 +3419,28 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the backup configuration for a web app + /// Gets the backup configuration of an app. /// - /// Gets the backup configuration for a web app + /// + /// Gets the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the backup configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2377,23 +3448,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the connection strings associated with web app + /// Replaces the connection strings of an app. /// - /// Updates the connection strings associated with web app + /// + /// Replaces the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Connection strings associated with web app + /// Connection strings of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the connection settings for the production slot. /// /// /// The headers that will be added to request. @@ -2401,20 +3483,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateConnectionStringsSlotWithHttpMessagesAsync(string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the connection strings associated with web app + /// Gets the connection strings of an app. /// - /// Gets the connection strings associated with web app + /// + /// Gets the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the connection settings for the production slot. /// /// /// The headers that will be added to request. @@ -2422,20 +3515,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListConnectionStringsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app logs configuration + /// Gets the logging configuration of an app. /// - /// Gets the web app logs configuration + /// + /// Gets the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the logging configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2443,23 +3547,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetDiagnosticLogsConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the meta data for web app + /// Updates the logging configuration of an app. /// - /// Updates the meta data for web app + /// + /// Updates the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Site logs configuration + /// A SiteLogsConfig JSON object that contains the logging + /// configuration to change in the "properties" property. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the logging configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2467,23 +3583,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateDiagnosticLogsConfigSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the meta data for web app + /// Replaces the metadata of an app. /// - /// Updates the meta data for web app + /// + /// Replaces the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Meta data of web app + /// Edited metadata of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the metadata for the production slot. /// /// /// The headers that will be added to request. @@ -2491,20 +3618,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateMetadataSlotWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary metadata, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app meta data. + /// Gets the metadata of an app. /// - /// Gets the web app meta data. + /// + /// Gets the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the metadata for the production slot. /// /// /// The headers that will be added to request. @@ -2512,20 +3650,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListMetadataSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app publishing credentials + /// Gets the Git/FTP publishing credentials of an app. /// - /// Gets the web app publishing credentials + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the publishing credentials for the production slot. /// /// /// The headers that will be added to request. @@ -2533,34 +3682,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListPublishingCredentialsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web app publishing credentials - /// - /// Gets the web app publishing credentials - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to - /// production slot. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginListPublishingCredentialsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Updates the Push settings associated with web app + /// Updates the Push settings associated with web app. /// - /// Updates the Push settings associated with web app + /// + /// Updates the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -2578,13 +3717,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateSitePushSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, PushSettings pushSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the Push settings associated with web app + /// Gets the Push settings associated with web app. /// - /// Gets the Push settings associated with web app + /// + /// Gets the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -2599,20 +3749,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListSitePushSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the configuration of the web app + /// Gets the configuration of an app, such as platform version and + /// bitness, default documents, virtual applications, Always On, etc. /// - /// Gets the configuration of the web app + /// + /// Gets the configuration of an app, such as platform version and + /// bitness, default documents, virtual applications, Always On, etc. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will return configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2620,24 +3783,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web - /// app + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2645,24 +3818,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web - /// app + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2670,20 +3853,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// Gets a list of web app configuration snapshots identifiers. Each + /// element of the list contains a timestamp and the ID of the + /// snapshot. /// - /// List deployments + /// + /// Gets a list of web app configuration snapshots identifiers. Each + /// element of the list contains a timestamp and the ID of the + /// snapshot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will return configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2691,23 +3889,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListDeploymentsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListConfigurationSnapshotInfoSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get the deployment + /// Gets a snapshot of the configuration of an app at a previous point + /// in time. /// - /// Get the deployment + /// + /// Gets a snapshot of the configuration of an app at a previous point + /// in time. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will return configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2715,26 +3926,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetConfigurationSnapshotSlotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create a deployment + /// Reverts the configuration of an app to a previous snapshot. /// - /// Create a deployment + /// + /// Reverts the configuration of an app to a previous snapshot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. - /// - /// - /// Details of deployment + /// Name of the deployment slot. If a slot is not specified, the API + /// will return configuration for the production slot. /// /// /// The headers that will be added to request. @@ -2742,23 +3961,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> CreateDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RecoverSiteConfigurationSnapshotSlotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete the deployment + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. /// - /// Delete the deployment + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// returns deployments for the production slot. /// /// /// The headers that will be added to request. @@ -2766,20 +3992,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListDeploymentsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get web app hostname bindings + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Get web app hostname bindings + /// + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// gets a deployment for the production slot. /// /// /// The headers that will be added to request. @@ -2787,23 +4029,321 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListHostNameBindingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get web app binding for a hostname + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. /// - /// Get web app binding for a hostname + /// + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// ID of an existing deployment. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// creates a deployment for the production slot. + /// + /// + /// Deployment details. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. + /// + /// + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Deployment ID. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// deletes a deployment for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the binding for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListDomainOwnershipIdentifiersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get domain ownership identifier for web app. + /// + /// + /// Get domain ownership identifier for web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the binding for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the binding for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateOrUpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Deletes a domain ownership identifier for a web app. + /// + /// + /// Deletes a domain ownership identifier for a web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the binding for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Creates a domain ownership identifier for web app, or updates an + /// existing ownership identifier. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// A JSON representation of the domain ownership properties. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the binding for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> UpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get hostname bindings for an app or a deployment slot. + /// + /// + /// Get hostname bindings for an app or a deployment slot. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// gets hostname bindings for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListHostNameBindingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// the named binding for the production slot. /// /// - /// Name of host + /// Hostname in the hostname binding. /// /// /// The headers that will be added to request. @@ -2811,26 +4351,38 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a web app hostname binding + /// Creates a hostname binding for an app. /// - /// Creates a web app hostname binding + /// + /// Creates a hostname binding for an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of host + /// Hostname in the hostname binding. /// /// - /// Host name binding information + /// Binding details. This is the JSON representation of a + /// HostNameBinding object. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will create a binding for the production slot. /// /// /// The headers that will be added to request. @@ -2838,23 +4390,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Deletes a host name binding + /// Deletes a hostname binding for an app. /// - /// Deletes a host name binding + /// + /// Deletes a hostname binding for an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the binding for the production slot. /// /// - /// Name of host + /// Hostname in the hostname binding. /// /// /// The headers that will be added to request. @@ -2862,15 +4425,23 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a specific Service Bus Hybrid Connection used by this - /// Web App. + /// Retrieves a specific Service Bus Hybrid Connection used by this Web + /// App. /// - /// Retrieves a specific Service Bus Hybrid Connection used by this - /// Web App. + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web + /// App. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -2890,13 +4461,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -2919,13 +4501,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Removes a Hybrid Connection from this site. /// + /// /// Removes a Hybrid Connection from this site. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -2945,13 +4538,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -2974,13 +4575,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the send key name and value for a Hybrid Connection + /// Gets the send key name and value for a Hybrid Connection. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// Gets the send key name and value for a Hybrid Connection. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -3000,13 +4612,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListHybridConnectionKeysSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> ListHybridConnectionKeysSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Retrieves all Service Bus Hybrid Connections used by this Web App. /// + /// /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -3020,21 +4643,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListHybridConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves all Biztalk Hybrid Connections associated with this web - /// app. + /// Gets hybrid connections configured for an app (or deployment slot, + /// if specified). /// - /// Retrieves all Biztalk Hybrid Connections associated with this web - /// app. + /// + /// Gets hybrid connections configured for an app (or deployment slot, + /// if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get hybrid connections for the production slot. /// /// /// The headers that will be added to request. @@ -3042,24 +4677,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListRelayServiceConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity - /// name. + /// Gets a hybrid connection configuration by its name. /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity - /// name. + /// + /// Gets a hybrid connection configuration by its name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get a hybrid connection for the production slot. /// /// /// The headers that will be added to request. @@ -3067,27 +4712,39 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection configuration. /// /// - /// The details of the Hybrid Connection + /// Details of the hybrid connection configuration. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will create or update a hybrid connection for the production slot. /// /// /// The headers that will be added to request. @@ -3095,24 +4752,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Removes the association to a Biztalk Hybrid Connection, identified - /// by its entity name. + /// Deletes a relay service connection by its name. /// - /// Removes the association to a Biztalk Hybrid Connection, identified - /// by its entity name. + /// + /// Deletes a relay service connection by its name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection configuration. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete a hybrid connection for the production slot. /// /// /// The headers that will be added to request. @@ -3120,27 +4787,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). /// - /// Creates a new association to a Biztalk Hybrid Connection, or - /// updates an existing one. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an + /// existing one (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name by which the Hybrid Connection is identified + /// Name of the hybrid connection configuration. /// /// - /// The details of the Hybrid Connection + /// Details of the hybrid connection configuration. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will create or update a hybrid connection for the production slot. /// /// /// The headers that will be added to request. @@ -3148,20 +4824,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// gets the production slot instances. /// /// /// The headers that will be added to request. @@ -3169,23 +4856,38 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceIdentifiersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// returns deployments for the production slot. /// /// - /// Id of web app instance + /// The ID of a specific scaled-out instance. This is the value of the + /// name property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// /// The headers that will be added to request. @@ -3193,26 +4895,41 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceDeploymentsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get the deployment + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Get the deployment + /// + /// Get a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// gets a deployment for the production slot. /// /// - /// Id of web app instance + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// /// The headers that will be added to request. @@ -3220,29 +4937,44 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Create a deployment + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. /// - /// Create a deployment + /// + /// Create a deployment for an app, a specific deployment slot, and/or + /// a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// ID of an existing deployment. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// creates a deployment for the production slot. /// /// - /// Id of web app instance + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// - /// Details of deployment + /// Deployment details. /// /// /// The headers that will be added to request. @@ -3250,26 +4982,41 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete the deployment + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. /// - /// Delete the deployment + /// + /// Delete a deployment by its ID for an app, a specific deployment + /// slot, and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// deletes a deployment for the production slot. /// /// - /// Id of web app instance + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET + /// api/sites/{siteName}/instances" /// /// /// The headers that will be added to request. @@ -3277,20 +5024,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Creates a new web app or modifies an existing web app. + /// Shows whether an app can be cloned to another resource group or + /// subscription. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. By default, this API returns + /// information on the production slot. /// /// /// The headers that will be added to request. @@ -3298,20 +5055,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> IsCloneableSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get metric definitions of the production slot. /// /// /// The headers that will be added to request. @@ -3319,30 +5089,44 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListMetricDefinitionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMetricDefinitionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if + /// specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get metrics of the production slot. /// /// - /// If true, metric details are included in response + /// Specify "true" to include metric details in the response. It is + /// "false" by default. /// /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(name.value eq - /// 'Metric1' or name.value eq 'Metric2') and startTime eq - /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and - /// timeGrain eq duration'[Hour|Minute|Day]'. + /// Return only metrics specified in the filter (using OData syntax). + /// For example: $filter=(name.value eq 'Metric1' or name.value eq + /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq + /// '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The headers that will be added to request. @@ -3350,22 +5134,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a view of all network features in use on this web app. + /// Gets all network features used by the app (or deployment slot, if + /// specified). /// - /// Retrieves a view of all network features in use on this web app. + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// /// The type of view. This can either be "summary" or "detailed". /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get network features for the production slot. /// /// /// The headers that will be added to request. @@ -3373,13 +5171,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> ListNetworkFeaturesSlotWithHttpMessagesAsync(string resourceGroupName, string name, string view, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Start capturing network packets for the site + /// Start capturing network packets for the site. /// - /// Start capturing network packets for the site + /// + /// Start capturing network packets for the site. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -3396,13 +5205,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> StartWebSiteNetworkTraceSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Stop ongoing capturing network packets for the site + /// Stop ongoing capturing network packets for the site. /// - /// Stop ongoing capturing network packets for the site + /// + /// Stop ongoing capturing network packets for the site. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app @@ -3416,44 +5236,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> StopWebSiteNetworkTraceSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Generates new random app publishing password - /// - /// Generates new random app publishing password - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to - /// production slot. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> GenerateNewSitePublishingPasswordSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Gets the operation for a web app + /// Generates a new publishing password for an app (or deployment slot, + /// if specified). /// - /// Gets the operation for a web app + /// + /// Generates a new publishing password for an app (or deployment slot, + /// if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of an operation + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// generate a new publishing password for the production slot. /// /// /// The headers that will be added to request. @@ -3461,13 +5270,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetOperationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task GenerateNewSitePublishingPasswordSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -3477,8 +5294,8 @@ public partial interface IWebAppsOperations /// production slot. **** CURRENTLY UNUSED ***** /// /// - /// Return only usages/metrics specified in the filter. Filter - /// conforms to odata syntax. Example: $filter=(startTime eq + /// Return only usages/metrics specified in the filter. Filter conforms + /// to odata syntax. Example: $filter=(startTime eq /// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and /// timeGrain eq duration'[Hour|Minute|Day]'. /// @@ -3488,13 +5305,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListPerfMonCountersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets sites's event logs + /// Gets web app's event logs. /// - /// Gets sites's event logs + /// + /// Gets web app's event logs. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -3509,19 +5337,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> GetSitePhpErrorLogFlagSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetSitePhpErrorLogFlagSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List premier add ons for web app + /// Gets the premier add-ons of an app. /// - /// List premier add ons for web app + /// + /// Gets the premier add-ons of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the premier add-ons for the production slot. /// /// /// The headers that will be added to request. @@ -3529,22 +5369,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListPremierAddOnsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> ListPremierAddOnsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets a specific premier add on + /// Gets a named add-on of an app. /// - /// Gets a specific premier add on + /// + /// Gets a named add-on of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// Premier add on + /// Add-on name. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the named add-on for the production slot. /// /// /// The headers that will be added to request. @@ -3552,25 +5404,37 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Add premier add-on + /// Updates a named add-on of an app. /// - /// Add premier add-on + /// + /// Updates a named add-on of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// Premier add on + /// Add-on name. /// /// - /// Premier add on request + /// A JSON representation of the edited premier add-on. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the named add-on for the production slot. /// /// /// The headers that will be added to request. @@ -3578,22 +5442,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> AddPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> AddPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete premier add-on + /// Delete a premier add-on from an app. /// - /// Delete premier add-on + /// + /// Delete a premier add-on from an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// Premier add on + /// Add-on name. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the named add-on for the production slot. /// /// /// The headers that will be added to request. @@ -3601,25 +5477,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeletePremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeletePremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the publishing profile for web app + /// Gets the publishing profile for an app (or deployment slot, if + /// specified). /// - /// Gets the publishing profile for web app + /// + /// Gets the publishing profile for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP - /// format. + /// + /// Specifies publishingProfileOptions for publishing profile. For + /// example, use {"format": "FileZilla3"} to get a FileZilla publishing + /// profile. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the publishing profile for the production slot. /// /// /// The headers that will be added to request. @@ -3627,13 +5513,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ListPublishingProfileXmlWithSecretsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions options, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> ListPublishingProfileXmlWithSecretsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Recovers a deleted web app + /// Recovers a deleted web app. /// - /// Recovers a deleted web app + /// + /// Recovers a deleted web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -3652,47 +5549,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> RecoverSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Recovers a deleted web app - /// - /// Recovers a deleted web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can - /// be obtained by calling GetDeletedSites or GetSiteSnapshots API. - /// - /// - /// Name of web app slot. If not specified then will default to - /// production slot. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> BeginRecoverSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// previously modified by calling the API with POST. /// + /// /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// previously modified by calling the API with POST. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// resets configuration settings for the production slot. /// /// /// The headers that will be added to request. @@ -3700,28 +5583,37 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> ResetSlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task ResetSlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Restarts web app + /// Restarts an app (or deployment slot, if specified). /// - /// Restarts web app + /// + /// Restarts an app (or deployment slot, if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will restart the production slot. /// /// - /// Soft restart applies the configuration settings and restarts the - /// app if necessary. Hard restart always restarts and reprovisions - /// the app + /// Specify true to apply the configuration settings and restarts the + /// app only if necessary. By default, the API always restarts and + /// reprovisions the app. /// /// - /// If true then the API will block until the app has been restarted + /// Specify true to block until the app is restarted. By default, it is + /// set to false, and the API responds immediately (asynchronous). /// /// /// The headers that will be added to request. @@ -3729,24 +5621,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> RestartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task RestartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. /// + /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name + /// JSON object that contains the target slot name. See example. /// /// - /// Name of the source slot + /// Name of the source slot. If a slot is not specified, the production + /// slot is used as the source slot. /// /// /// The headers that will be added to request. @@ -3754,45 +5655,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> GetSlotsDifferencesSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Swaps web app slots - /// - /// Swaps web app slots - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Request body that contains the target slot name - /// - /// - /// Name of source slot for the swap - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> SwapSlotsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Swaps web app slots + /// Swaps two deployment slots of an app. /// - /// Swaps web app slots + /// + /// Swaps two deployment slots of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name + /// JSON object that contains the target slot name. See example. /// /// - /// Name of source slot for the swap + /// Name of the source slot. If a slot is not specified, the production + /// slot is used as the source slot. /// /// /// The headers that will be added to request. @@ -3800,13 +5690,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> BeginSwapSlotsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task SwapSlotSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// /// Website Name @@ -3820,20 +5718,31 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListSnapshotsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get the source control configuration of web app + /// Gets the source control configuration of an app. /// - /// Get the source control configuration of web app + /// + /// Gets the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the source control configuration for the production slot. /// /// /// The headers that will be added to request. @@ -3841,23 +5750,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Update the source control configuration of web app + /// Updates the source control configuration of an app. /// - /// Update the source control configuration of web app + /// + /// Updates the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the source control parameters + /// JSON representation of a SiteSourceControl object. See example. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the source control configuration for the production + /// slot. /// /// /// The headers that will be added to request. @@ -3865,20 +5786,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete source control configuration of web app + /// Deletes the source control configuration of an app. /// - /// Delete source control configuration of web app + /// + /// Deletes the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the source control configuration for the production + /// slot. /// /// /// The headers that will be added to request. @@ -3886,23 +5819,28 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Update the source control configuration of web app + /// Starts an app (or deployment slot, if specified). /// - /// Update the source control configuration of web app + /// + /// Starts an app (or deployment slot, if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the source control parameters + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will start the production slot. /// /// /// The headers that will be added to request. @@ -3910,20 +5848,28 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> UpdateSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task StartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Starts web app + /// Stops an app (or deployment slot, if specified). /// - /// Starts web app + /// + /// Stops an app (or deployment slot, if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will stop the production slot. /// /// /// The headers that will be added to request. @@ -3931,13 +5877,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> StartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task StopSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Stops web app + /// Sync web app repository. /// - /// Stops web app + /// + /// Sync web app repository. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -3952,45 +5906,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> StopSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task SyncRepositorySlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Sync web app repository + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Sync web app repository + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to - /// production slot. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> SyncRepositorySlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Gets the quota usage numbers for web app - /// - /// Gets the quota usage numbers for web app - /// - /// Name of resource group - /// - /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to - /// production slot. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get quota information of the production slot. /// /// - /// Return only usages specified in the filter. Filter is specified by - /// using OData syntax. Example: $filter=(name.value eq 'Metric1' or + /// Return only information specified in the filter (using OData + /// syntax). For example: $filter=(name.value eq 'Metric1' or /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq /// duration'[Hour|Minute|Day]'. @@ -4001,21 +5944,33 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListUsagesSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a list of all Virtual Network Connections associated - /// with this web app. + /// Gets the virtual networks the app (or deployment slot) is connected + /// to. /// - /// Retrieves a list of all Virtual Network Connections associated - /// with this web app. + /// + /// Gets the virtual networks the app (or deployment slot) is connected + /// to. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get virtual network connections for the production slot. /// /// /// The headers that will be added to request. @@ -4023,24 +5978,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListVnetConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a specific Virtual Network Connection associated with - /// this web app. + /// Gets a virtual network the app (or deployment slot) is connected to + /// by name. /// - /// Retrieves a specific Virtual Network Connection associated with - /// this web app. + /// + /// Gets a virtual network the app (or deployment slot) is connected to + /// by name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the virtual network. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the named virtual network for the production slot. /// /// /// The headers that will be added to request. @@ -4048,25 +6015,39 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of an existing Virtual Network. /// /// - /// The properties of this Virtual Network Connection + /// Properties of the Virtual Network connection. See example. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will add or update connections for the production slot. /// /// /// The headers that will be added to request. @@ -4074,24 +6055,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Removes the specified Virtual Network Connection association from - /// this web app. + /// Deletes a connection from an app (or deployment slot to a named + /// virtual network. /// - /// Removes the specified Virtual Network Connection association from - /// this web app. + /// + /// Deletes a connection from an app (or deployment slot to a named + /// virtual network. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the virtual network. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will delete the connection for the production slot. /// /// /// The headers that will be added to request. @@ -4099,25 +6092,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of an existing Virtual Network. /// /// - /// The properties of this Virtual Network Connection + /// Properties of the Virtual Network connection. See example. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will add or update connections for the production slot. /// /// /// The headers that will be added to request. @@ -4125,28 +6129,38 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a Virtual Network connection gateway associated with - /// this web app and virtual network. + /// Gets an app's Virtual Network gateway. /// - /// Retrieves a Virtual Network connection gateway associated with - /// this web app and virtual network. + /// + /// Gets an app's Virtual Network gateway. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the gateway. Currently, the only supported string is + /// "primary". /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will get a gateway for the production slot's Virtual Network. /// /// /// The headers that will be added to request. @@ -4154,29 +6168,44 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the Virtual Network Gateway. + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). /// - /// Updates the Virtual Network Gateway. + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the gateway. Currently, the only supported string is + /// "primary". /// /// /// The properties to update this gateway with. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will add or update a gateway for the production slot's Virtual + /// Network. /// /// /// The headers that will be added to request. @@ -4184,29 +6213,44 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the Virtual Network Gateway. + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). /// - /// Updates the Virtual Network Gateway. + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the gateway. Currently, the only supported string is + /// "primary". /// /// /// The properties to update this gateway with. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API + /// will add or update a gateway for the production slot's Virtual + /// Network. /// /// /// The headers that will be added to request. @@ -4214,21 +6258,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. /// + /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name + /// JSON object that contains the target slot name. See example. /// /// /// The headers that will be added to request. @@ -4236,39 +6291,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> GetSlotsDifferencesFromProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Swaps web app slots - /// - /// Swaps web app slots - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Request body that contains the target slot name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> SwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Swaps web app slots + /// Swaps two deployment slots of an app. /// - /// Swaps web app slots + /// + /// Swaps two deployment slots of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name + /// JSON object that contains the target slot name. See example. /// /// /// The headers that will be added to request. @@ -4276,13 +6322,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> BeginSwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task SwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// /// Website Name @@ -4293,16 +6347,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListSnapshotsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get the source control configuration of web app + /// Gets the source control configuration of an app. /// - /// Get the source control configuration of web app + /// + /// Gets the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -4310,19 +6375,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Update the source control configuration of web app + /// Updates the source control configuration of an app. /// - /// Update the source control configuration of web app + /// + /// Updates the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the source control parameters + /// JSON representation of a SiteSourceControl object. See example. /// /// /// The headers that will be added to request. @@ -4330,36 +6406,27 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Delete source control configuration of web app - /// - /// Delete source control configuration of web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task> DeleteSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Update the source control configuration of web app + /// Deletes the source control configuration of an app. /// - /// Update the source control configuration of web app + /// + /// Deletes the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the source control parameters + /// Name of the app. /// /// /// The headers that will be added to request. @@ -4367,16 +6434,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> UpdateSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Starts web app + /// Starts an app (or deployment slot, if specified). /// - /// Starts web app + /// + /// Starts an app (or deployment slot, if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -4384,16 +6459,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> StartWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task StartWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Stops web app + /// Stops an app (or deployment slot, if specified). /// - /// Stops web app + /// + /// Stops an app (or deployment slot, if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -4401,13 +6484,21 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> StopWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task StopWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Sync web app repository + /// Sync web app repository. /// - /// Sync web app repository + /// + /// Sync web app repository. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -4418,20 +6509,30 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> SyncRepositoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task SyncRepositoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Return only usages specified in the filter. Filter is specified by - /// using OData syntax. Example: $filter=(name.value eq 'Metric1' or + /// Return only information specified in the filter (using OData + /// syntax). For example: $filter=(name.value eq 'Metric1' or /// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq /// duration'[Hour|Minute|Day]'. @@ -4442,18 +6543,29 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a list of all Virtual Network Connections associated - /// with this web app. + /// Gets the virtual networks the app (or deployment slot) is connected + /// to. /// - /// Retrieves a list of all Virtual Network Connections associated - /// with this web app. + /// + /// Gets the virtual networks the app (or deployment slot) is connected + /// to. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// /// The headers that will be added to request. @@ -4461,21 +6573,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListVnetConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a specific Virtual Network Connection associated with - /// this web app. + /// Gets a virtual network the app (or deployment slot) is connected to + /// by name. /// - /// Retrieves a specific Virtual Network Connection associated with - /// this web app. + /// + /// Gets a virtual network the app (or deployment slot) is connected to + /// by name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the virtual network. /// /// /// The headers that will be added to request. @@ -4483,22 +6606,35 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> GetVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of an existing Virtual Network. /// /// - /// The properties of this Virtual Network Connection + /// Properties of the Virtual Network connection. See example. /// /// /// The headers that will be added to request. @@ -4506,21 +6642,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Removes the specified Virtual Network Connection association from - /// this web app. + /// Deletes a connection from an app (or deployment slot to a named + /// virtual network. /// - /// Removes the specified Virtual Network Connection association from - /// this web app. + /// + /// Deletes a connection from an app (or deployment slot to a named + /// virtual network. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the virtual network. /// /// /// The headers that will be added to request. @@ -4528,22 +6675,32 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> DeleteVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or + /// updates the connection properties (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of an existing Virtual Network. /// /// - /// The properties of this Virtual Network Connection + /// Properties of the Virtual Network connection. See example. /// /// /// The headers that will be added to request. @@ -4551,25 +6708,34 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Retrieves a Virtual Network connection gateway associated with - /// this web app and virtual network. + /// Gets an app's Virtual Network gateway. /// - /// Retrieves a Virtual Network connection gateway associated with - /// this web app and virtual network. + /// + /// Gets an app's Virtual Network gateway. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the gateway. Currently, the only supported string is + /// "primary". /// /// /// The headers that will be added to request. @@ -4577,23 +6743,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task> GetVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the Virtual Network Gateway. + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). /// - /// Updates the Virtual Network Gateway. + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the gateway. Currently, the only supported string is + /// "primary". /// /// /// The properties to update this gateway with. @@ -4604,23 +6783,36 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> CreateOrUpdateVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates the Virtual Network Gateway. + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). /// - /// Updates the Virtual Network Gateway. + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it + /// (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network + /// Name of the Virtual Network. /// /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the gateway. Currently, the only supported string is + /// "primary". /// /// /// The properties to update this gateway with. @@ -4631,13 +6823,48 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task> UpdateVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all Web Apps for a subscription + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. /// - /// Gets all Web Apps for a subscription - /// - /// The NextLink from the previous successful call to List operation. + /// + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// If true web app hostname is not registered with DNS on creation. + /// This parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with + /// web app are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name /// /// /// The headers that will be added to request. @@ -4645,11 +6872,473 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// ID of the backup. + /// + /// + /// Information on restore request + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginRestoreWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Gets the Git/FTP publishing credentials of an app. + /// + /// + /// Gets the Git/FTP publishing credentials of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginListPublishingCredentialsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Restores a web app. + /// + /// + /// Restores a web app. + /// + /// + /// Azure subscription + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of web app + /// + /// + /// Migration migrationOptions + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginMigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Migrates a local (in-app) MySql database to a remote MySql + /// database. + /// + /// + /// Migrates a local (in-app) MySql database to a remote MySql + /// database. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of web app + /// + /// + /// MySql migration options + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginMigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets deleted web apps in subscription + /// Recovers a deleted web app. /// - /// Gets deleted web apps in subscription + /// + /// Recovers a deleted web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of web app + /// + /// + /// Snapshot data used for web app recovery. Snapshot information can + /// be obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginRecoverWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. + /// + /// + /// Creates a new web, mobile, or API app in an existing resource + /// group, or updates an existing app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// Name of the deployment slot to create or update. By default, this + /// API attempts to create or modify the production slot. + /// + /// + /// If true web app hostname is not registered with DNS on creation. + /// This parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with + /// web app are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateSlotWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// ID of the backup. + /// + /// + /// Information on restore request + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will restore a backup of the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginRestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Gets the Git/FTP publishing credentials of an app. + /// + /// + /// Gets the Git/FTP publishing credentials of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will get the publishing credentials for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginListPublishingCredentialsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Recovers a deleted web app. + /// + /// + /// Recovers a deleted web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of web app + /// + /// + /// Snapshot data used for web app recovery. Snapshot information can + /// be obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// + /// Name of web app slot. If not specified then will default to + /// production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginRecoverSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Swaps two deployment slots of an app. + /// + /// + /// Swaps two deployment slots of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. + /// + /// + /// Name of the source slot. If a slot is not specified, the production + /// slot is used as the source slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task BeginSwapSlotSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Updates the source control configuration of an app. + /// + /// + /// Updates the source control configuration of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// JSON representation of a SiteSourceControl object. See example. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API + /// will update the source control configuration for the production + /// slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Swaps two deployment slots of an app. + /// + /// + /// Swaps two deployment slots of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task BeginSwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Updates the source control configuration of an app. + /// + /// + /// Updates the source control configuration of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// JSON representation of a SiteSourceControl object. See example. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> BeginCreateOrUpdateSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get all apps for a subscription. + /// + /// + /// Get all apps for a subscription. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4659,13 +7348,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListDeletedNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the web apps for a subscription in the specified resource - /// group + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets the web apps for a subscription in the specified resource - /// group + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4675,11 +7373,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4689,11 +7398,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListBackupsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4703,11 +7425,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListDeploymentsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get web app hostname bindings + /// Lists ownership identifiers for domain associated with web app. /// - /// Get web app hostname bindings + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4717,11 +7450,47 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListDomainOwnershipIdentifiersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get hostname bindings for an app or a deployment slot. + /// + /// + /// Get hostname bindings for an app or a deployment slot. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListHostNameBindingsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4731,11 +7500,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceIdentifiersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4745,11 +7527,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceDeploymentsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4759,11 +7554,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if + /// specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4773,11 +7581,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4787,11 +7606,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListPerfMonCountersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all the slots for a web apps + /// Gets an app's deployment slots. /// - /// Gets all the slots for a web apps + /// + /// Gets an app's deployment slots. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4801,11 +7631,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListSlotsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4815,11 +7656,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListBackupsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4829,11 +7683,47 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListDeploymentsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get web app hostname bindings + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListDomainOwnershipIdentifiersSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Get hostname bindings for an app or a deployment slot. /// - /// Get web app hostname bindings + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4843,11 +7733,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListHostNameBindingsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4857,11 +7758,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceIdentifiersSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an + /// instance of a scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4871,11 +7785,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListInstanceDeploymentsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4885,11 +7812,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// - Task>> ListMetricDefinitionsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListMetricDefinitionsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if + /// specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4899,11 +7839,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListMetricsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4913,13 +7864,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListPerfMonCountersSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. /// + /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4929,11 +7891,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> GetSlotsDifferencesSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4943,11 +7916,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListSnapshotsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4957,13 +7943,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListUsagesSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. /// + /// /// Get the difference in configuration settings between two web app - /// slots + /// slots. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4973,11 +7970,22 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> GetSlotsDifferencesFromProductionNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -4987,11 +7995,24 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListSnapshotsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -5001,6 +8022,16 @@ public partial interface IWebAppsOperations /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// Task>> ListUsagesNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebSiteManagementClient.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebSiteManagementClient.cs index 36d133d3d970..01bdfc937945 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebSiteManagementClient.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/IWebSiteManagementClient.cs @@ -1,50 +1,52 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; - using System.Net.Http; using System.Threading; using System.Threading.Tasks; - using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Composite Swagger for WebSite Management Client /// - public partial interface IWebSiteManagementClient : IDisposable + public partial interface IWebSiteManagementClient : System.IDisposable { /// /// The base URI of the service. /// - Uri BaseUri { get; set; } + System.Uri BaseUri { get; set; } /// /// Gets or sets json serialization settings. /// - JsonSerializerSettings SerializationSettings { get; } + Newtonsoft.Json.JsonSerializerSettings SerializationSettings { get; } /// /// Gets or sets json deserialization settings. /// - JsonSerializerSettings DeserializationSettings { get; } + Newtonsoft.Json.JsonSerializerSettings DeserializationSettings { get; } /// - /// Gets Azure subscription credentials. + /// Credentials needed for the client to connect to Azure. /// ServiceClientCredentials Credentials { get; } /// - /// Subscription Id + /// Your Azure subscription ID. This is a GUID-formatted string (e.g. + /// 00000000-0000-0000-0000-000000000000). /// string SubscriptionId { get; set; } @@ -60,8 +62,8 @@ public partial interface IWebSiteManagementClient : IDisposable int? LongRunningOperationRetryTimeout { get; set; } /// - /// When set to true a unique x-ms-client-request-id value is - /// generated and included in each request. Default is true. + /// When set to true a unique x-ms-client-request-id value is generated + /// and included in each request. Default is true. /// bool? GenerateClientRequestId { get; set; } @@ -106,39 +108,36 @@ public partial interface IWebSiteManagementClient : IDisposable /// IWebAppsOperations WebApps { get; } - /// - /// Gets the source controls available for Azure websites + /// + /// Gets the IDeletedWebAppsOperations. /// - /// Gets the source controls available for Azure websites - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - Task>> ListSourceControlsWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + IDeletedWebAppsOperations DeletedWebApps { get; } /// - /// Check if resource name is available + /// Gets the source controls available for Azure websites. /// - /// Check if resource name is available - /// - /// Name availability request - /// + /// + /// Gets the source controls available for Azure websites. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// - Task> CheckNameAvailabilityWithHttpMessagesAsync(ResourceNameAvailabilityRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task>> ListSourceControlsWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets list of available geo regions + /// Updates source control token /// - /// Gets list of available geo regions - /// - /// Filter only to regions that support this sku + /// + /// Updates source control token + /// + /// + /// Type of source control + /// + /// + /// Source control token information /// /// /// The headers that will be added to request. @@ -146,14 +145,23 @@ public partial interface IWebSiteManagementClient : IDisposable /// /// The cancellation token. /// - Task>> GetSubscriptionGeoRegionsWithHttpMessagesAsync(string sku = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task> UpdateSourceControlWithHttpMessagesAsync(string sourceControlType, SourceControl requestMessage, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Whether hosting environment name is available + /// Check if a resource name is available. /// - /// Whether hosting environment name is available + /// + /// Check if a resource name is available. + /// /// - /// Hosting environment name + /// Resource name to verify. + /// + /// + /// Resource type used for verification. Possible values include: + /// 'Site', 'Slot', 'HostingEnvironment' + /// + /// + /// Is fully qualified domain name. /// /// /// The headers that will be added to request. @@ -161,14 +169,17 @@ public partial interface IWebSiteManagementClient : IDisposable /// /// The cancellation token. /// - Task> IsHostingEnvironmentNameAvailableWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task> CheckNameAvailabilityWithHttpMessagesAsync(string name, string type, bool? isFqdn = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Whether hosting environment name is available + /// Get a list of available geographical regions. /// - /// Whether hosting environment name is available - /// - /// Hosting environment name + /// + /// Get a list of available geographical regions. + /// + /// + /// Name of SKU used to filter the regions. Possible values include: + /// 'Free', 'Shared', 'Basic', 'Standard', 'Premium', 'Dynamic' /// /// /// The headers that will be added to request. @@ -176,24 +187,28 @@ public partial interface IWebSiteManagementClient : IDisposable /// /// The cancellation token. /// - Task> IsHostingEnvironmentWithLegacyNameAvailableWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task>> ListGeoRegionsWithHttpMessagesAsync(string sku = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// List premier add on offers + /// List all premier add-on offers. /// - /// List premier add on offers + /// + /// List all premier add-on offers. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// - Task> ListPremierAddOnOffersWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task>> ListPremierAddOnOffersWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets publishing credentials for the subscription owner + /// Get the publishing credentials for the subscription owner. /// - /// Gets publishing credentials for the subscription owner + /// + /// Get the publishing credentials for the subscription owner. + /// /// /// The headers that will be added to request. /// @@ -203,11 +218,13 @@ public partial interface IWebSiteManagementClient : IDisposable Task> GetPublishingCredentialsWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Updates publishing credentials for the subscription owner + /// Update the publishing credentials for the subscription owner. /// - /// Updates publishing credentials for the subscription owner + /// + /// Update the publishing credentials for the subscription owner. + /// /// - /// requestMessage with new publishing credentials + /// A request message with the new publishing credentials. /// /// /// The headers that will be added to request. @@ -218,26 +235,30 @@ public partial interface IWebSiteManagementClient : IDisposable Task> UpdatePublishingCredentialsWithHttpMessagesAsync(User requestMessage, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Get skus + /// List all SKUs. /// - /// Get skus + /// + /// List all SKUs. + /// /// /// The headers that will be added to request. /// /// /// The cancellation token. /// - Task> ListSkusWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task> ListSkusWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Move resources between resource groups + /// Move resources between resource groups. /// - /// Move resources between resource groups + /// + /// Move resources between resource groups. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resource to move + /// Object that represents the resource to move. /// /// /// The headers that will be added to request. @@ -245,17 +266,19 @@ public partial interface IWebSiteManagementClient : IDisposable /// /// The cancellation token. /// - Task> MoveResourcesWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task MoveWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Validates if a resource can be created + /// Validate if a resource can be created. /// - /// Validates if a resource can be created + /// + /// Validate if a resource can be created. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resources to validate + /// Request with the resources to validate. /// /// /// The headers that will be added to request. @@ -266,14 +289,16 @@ public partial interface IWebSiteManagementClient : IDisposable Task> ValidateWithHttpMessagesAsync(string resourceGroupName, ValidateRequest validateRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Validate specified resources can be moved + /// Validate whether a resource can be moved. /// - /// Validate specified resources can be moved + /// + /// Validate whether a resource can be moved. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resource to move + /// Object that represents the resource to move. /// /// /// The headers that will be added to request. @@ -281,12 +306,14 @@ public partial interface IWebSiteManagementClient : IDisposable /// /// The cancellation token. /// - Task> ValidateMoveResourcesWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task ValidateMoveWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets the source controls available for Azure websites + /// Gets the source controls available for Azure websites. /// - /// Gets the source controls available for Azure websites + /// + /// Gets the source controls available for Azure websites. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -299,9 +326,11 @@ public partial interface IWebSiteManagementClient : IDisposable Task>> ListSourceControlsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// - /// Gets list of available geo regions + /// Get a list of available geographical regions. /// - /// Gets list of available geo regions + /// + /// Get a list of available geographical regions. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -311,7 +340,25 @@ public partial interface IWebSiteManagementClient : IDisposable /// /// The cancellation token. /// - Task>> GetSubscriptionGeoRegionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task>> ListGeoRegionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + + /// + /// List all premier add-on offers. + /// + /// + /// List all premier add-on offers. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + Task>> ListPremierAddOnOffersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AccessControlEntryAction.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AccessControlEntryAction.cs index 156ba879906d..a5301909762c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AccessControlEntryAction.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AccessControlEntryAction.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for AccessControlEntryAction. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum AccessControlEntryAction { [EnumMember(Value = "Permit")] @@ -24,3 +28,4 @@ public enum AccessControlEntryAction Deny } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Address.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Address.cs index f13efdf57e22..7188b68cc8d4 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Address.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Address.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Address information for domain registration + /// Address information for domain registration. /// public partial class Address { @@ -29,7 +28,13 @@ public Address() { } /// /// Initializes a new instance of the Address class. /// - public Address(string address1 = default(string), string address2 = default(string), string city = default(string), string country = default(string), string postalCode = default(string), string state = default(string)) + /// Address 1. + /// City. + /// Country. + /// Postal code. + /// State. + /// Address 2. + public Address(string address1, string city, string country, string postalCode, string state, string address2 = default(string)) { Address1 = address1; Address2 = address2; @@ -40,40 +45,70 @@ public Address() { } } /// - /// Address 1 + /// Gets or sets address 1. /// [JsonProperty(PropertyName = "address1")] public string Address1 { get; set; } /// - /// Address 2 + /// Gets or sets address 2. /// [JsonProperty(PropertyName = "address2")] public string Address2 { get; set; } /// - /// City + /// Gets or sets city. /// [JsonProperty(PropertyName = "city")] public string City { get; set; } /// - /// Country + /// Gets or sets country. /// [JsonProperty(PropertyName = "country")] public string Country { get; set; } /// - /// Postal code + /// Gets or sets postal code. /// [JsonProperty(PropertyName = "postalCode")] public string PostalCode { get; set; } /// - /// State + /// Gets or sets state. /// [JsonProperty(PropertyName = "state")] public string State { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Address1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Address1"); + } + if (City == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "City"); + } + if (Country == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Country"); + } + if (PostalCode == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PostalCode"); + } + if (State == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "State"); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AddressResponse.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AddressResponse.cs index 2c0937a7fb5b..60355b40d809 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AddressResponse.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AddressResponse.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Describes main public ip address and any extra vips + /// Describes main public IP address and any extra virtual IPs. /// public partial class AddressResponse { @@ -29,6 +29,13 @@ public AddressResponse() { } /// /// Initializes a new instance of the AddressResponse class. /// + /// Main public virtual IP. + /// Virtual Network internal IP address + /// of the App Service Environment if it is in internal load-balancing + /// mode. + /// IP addresses appearing on + /// outbound connections. + /// Additional virtual IPs. public AddressResponse(string serviceIpAddress = default(string), string internalIpAddress = default(string), IList outboundIpAddresses = default(IList), IList vipMappings = default(IList)) { ServiceIpAddress = serviceIpAddress; @@ -38,29 +45,30 @@ public AddressResponse() { } } /// - /// Main public vip + /// Gets or sets main public virtual IP. /// [JsonProperty(PropertyName = "serviceIpAddress")] public string ServiceIpAddress { get; set; } /// - /// VNET internal ip address of the hostingEnvironment (App Service - /// Environment) if it is in internal load-balancing mode + /// Gets or sets virtual Network internal IP address of the App Service + /// Environment if it is in internal load-balancing mode. /// [JsonProperty(PropertyName = "internalIpAddress")] public string InternalIpAddress { get; set; } /// - /// IP addresses appearing on outbound connections + /// Gets or sets IP addresses appearing on outbound connections. /// [JsonProperty(PropertyName = "outboundIpAddresses")] public IList OutboundIpAddresses { get; set; } /// - /// Additional vips + /// Gets or sets additional virtual IPs. /// [JsonProperty(PropertyName = "vipMappings")] public IList VipMappings { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApiDefinitionInfo.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApiDefinitionInfo.cs index bc961148f901..8d51d546358b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApiDefinitionInfo.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApiDefinitionInfo.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Information about the formal API definition for the web app. + /// Information about the formal API definition for the app. /// public partial class ApiDefinitionInfo { @@ -29,16 +27,18 @@ public ApiDefinitionInfo() { } /// /// Initializes a new instance of the ApiDefinitionInfo class. /// + /// The URL of the API definition. public ApiDefinitionInfo(string url = default(string)) { Url = url; } /// - /// The URL of the API definition. + /// Gets or sets the URL of the API definition. /// [JsonProperty(PropertyName = "url")] public string Url { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificate.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificate.cs index b403df3e16ff..52117313ccc0 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificate.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificate.cs @@ -1,24 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class representing the Key Vault container for certificate purchased - /// through Azure + /// Key Vault container for a certificate that is purchased through Azure. /// [JsonTransformation] public partial class AppServiceCertificate : Resource @@ -31,8 +32,23 @@ public AppServiceCertificate() { } /// /// Initializes a new instance of the AppServiceCertificate class. /// - public AppServiceCertificate(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string keyVaultId = default(string), string keyVaultSecretName = default(string), KeyVaultSecretStatus? provisioningState = default(KeyVaultSecretStatus?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Key Vault Csm resource Id. + /// Key Vault secret name. + /// Status of the Key Vault secret. + /// Possible values include: 'Initialized', + /// 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed', + /// 'OperationNotPermittedOnKeyVault', + /// 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + /// 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + /// 'Unknown' + public AppServiceCertificate(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string keyVaultId = default(string), string keyVaultSecretName = default(string), KeyVaultSecretStatus? provisioningState = default(KeyVaultSecretStatus?)) + : base(location, id, name, kind, type, tags) { KeyVaultId = keyVaultId; KeyVaultSecretName = keyVaultSecretName; @@ -40,34 +56,38 @@ public AppServiceCertificate() { } } /// - /// Key Vault Csm resource Id + /// Gets or sets key Vault Csm resource Id. /// [JsonProperty(PropertyName = "properties.keyVaultId")] public string KeyVaultId { get; set; } /// - /// Key Vault secret name + /// Gets or sets key Vault secret name. /// [JsonProperty(PropertyName = "properties.keyVaultSecretName")] public string KeyVaultSecretName { get; set; } /// - /// Status of the Key Vault secret. Possible values include: + /// Gets status of the Key Vault secret. Possible values include: /// 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', /// 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - /// 'AzureServiceUnauthorizedToAccessKeyVault', - /// 'KeyVaultDoesNotExist', 'KeyVaultSecretDoesNotExist', - /// 'UnknownError', 'ExternalPrivateKey', 'Unknown' + /// 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + /// 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + /// 'Unknown' /// [JsonProperty(PropertyName = "properties.provisioningState")] - public KeyVaultSecretStatus? ProvisioningState { get; set; } + public KeyVaultSecretStatus? ProvisioningState { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificateOrder.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificateOrder.cs index 2467557bf269..3846c1f3f3e2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificateOrder.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceCertificateOrder.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Certificate purchase order + /// SSL certificate purchase order. /// [JsonTransformation] public partial class AppServiceCertificateOrder : Resource @@ -30,8 +32,47 @@ public AppServiceCertificateOrder() { } /// /// Initializes a new instance of the AppServiceCertificateOrder class. /// - public AppServiceCertificateOrder(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), IDictionary certificates = default(IDictionary), string distinguishedName = default(string), string domainVerificationToken = default(string), int? validityInYears = default(int?), int? keySize = default(int?), CertificateProductType? productType = default(CertificateProductType?), bool? autoRenew = default(bool?), ProvisioningState? provisioningState = default(ProvisioningState?), CertificateOrderStatus? status = default(CertificateOrderStatus?), CertificateDetails signedCertificate = default(CertificateDetails), string csr = default(string), CertificateDetails intermediate = default(CertificateDetails), CertificateDetails root = default(CertificateDetails), string serialNumber = default(string), DateTime? lastCertificateIssuanceTime = default(DateTime?), DateTime? expirationTime = default(DateTime?), bool? isPrivateKeyExternal = default(bool?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// State of the Key Vault secret. + /// Certificate distinguished + /// name. + /// Domain verification + /// token. + /// Duration in years (must be between 1 + /// and 3). + /// Certificate key size. + /// Certificate product type. Possible values + /// include: 'StandardDomainValidatedSsl', + /// 'StandardDomainValidatedWildCardSsl' + /// <code>true</code> if the + /// certificate should be automatically renewed when it expires; + /// otherwise, <code>false</code>. + /// Status of certificate order. + /// Possible values include: 'Succeeded', 'Failed', 'Canceled', + /// 'InProgress', 'Deleting' + /// Current order status. Possible values include: + /// 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + /// 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', + /// 'NotSubmitted' + /// Signed certificate. + /// Last CSR that was created for this order. + /// Intermediate certificate. + /// Root certificate. + /// Current serial number of the + /// certificate. + /// Certificate last issuance + /// time. + /// Certificate expiration time. + /// <code>true</code> if + /// private key is external; otherwise, + /// <code>false</code>. + public AppServiceCertificateOrder(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), IDictionary certificates = default(IDictionary), string distinguishedName = default(string), string domainVerificationToken = default(string), int? validityInYears = default(int?), int? keySize = default(int?), CertificateProductType? productType = default(CertificateProductType?), bool? autoRenew = default(bool?), ProvisioningState? provisioningState = default(ProvisioningState?), CertificateOrderStatus? status = default(CertificateOrderStatus?), CertificateDetails signedCertificate = default(CertificateDetails), string csr = default(string), CertificateDetails intermediate = default(CertificateDetails), CertificateDetails root = default(CertificateDetails), string serialNumber = default(string), System.DateTime? lastCertificateIssuanceTime = default(System.DateTime?), System.DateTime? expirationTime = default(System.DateTime?), bool? isPrivateKeyExternal = default(bool?)) + : base(location, id, name, kind, type, tags) { Certificates = certificates; DistinguishedName = distinguishedName; @@ -53,120 +94,128 @@ public AppServiceCertificateOrder() { } } /// - /// State of the Key Vault secret + /// Gets or sets state of the Key Vault secret. /// [JsonProperty(PropertyName = "properties.certificates")] public IDictionary Certificates { get; set; } /// - /// Certificate distinguished name + /// Gets or sets certificate distinguished name. /// [JsonProperty(PropertyName = "properties.distinguishedName")] public string DistinguishedName { get; set; } /// - /// Domain Verification Token + /// Gets domain verification token. /// [JsonProperty(PropertyName = "properties.domainVerificationToken")] - public string DomainVerificationToken { get; set; } + public string DomainVerificationToken { get; protected set; } /// - /// Duration in years (must be between 1 and 3) + /// Gets or sets duration in years (must be between 1 and 3). /// [JsonProperty(PropertyName = "properties.validityInYears")] public int? ValidityInYears { get; set; } /// - /// Certificate Key Size + /// Gets or sets certificate key size. /// [JsonProperty(PropertyName = "properties.keySize")] public int? KeySize { get; set; } /// - /// Certificate product type. Possible values include: + /// Gets or sets certificate product type. Possible values include: /// 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' /// [JsonProperty(PropertyName = "properties.productType")] public CertificateProductType? ProductType { get; set; } /// - /// Auto renew + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// certificate should be automatically renewed when it expires; + /// otherwise, &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.autoRenew")] public bool? AutoRenew { get; set; } /// - /// Status of certificate order. Possible values include: 'Succeeded', - /// 'Failed', 'Canceled', 'InProgress', 'Deleting' + /// Gets status of certificate order. Possible values include: + /// 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' /// [JsonProperty(PropertyName = "properties.provisioningState")] - public ProvisioningState? ProvisioningState { get; set; } + public ProvisioningState? ProvisioningState { get; protected set; } /// - /// Current order status. Possible values include: 'Pendingissuance', - /// 'Issued', 'Revoked', 'Canceled', 'Denied', 'Pendingrevocation', - /// 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + /// Gets current order status. Possible values include: + /// 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + /// 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', + /// 'NotSubmitted' /// [JsonProperty(PropertyName = "properties.status")] - public CertificateOrderStatus? Status { get; set; } + public CertificateOrderStatus? Status { get; protected set; } /// - /// Signed certificate + /// Gets signed certificate. /// [JsonProperty(PropertyName = "properties.signedCertificate")] - public CertificateDetails SignedCertificate { get; set; } + public CertificateDetails SignedCertificate { get; protected set; } /// - /// Last CSR that was created for this order + /// Gets or sets last CSR that was created for this order. /// [JsonProperty(PropertyName = "properties.csr")] public string Csr { get; set; } /// - /// Intermediate certificate + /// Gets intermediate certificate. /// [JsonProperty(PropertyName = "properties.intermediate")] - public CertificateDetails Intermediate { get; set; } + public CertificateDetails Intermediate { get; protected set; } /// - /// Root certificate + /// Gets root certificate. /// [JsonProperty(PropertyName = "properties.root")] - public CertificateDetails Root { get; set; } + public CertificateDetails Root { get; protected set; } /// - /// Current serial number of the certificate + /// Gets current serial number of the certificate. /// [JsonProperty(PropertyName = "properties.serialNumber")] - public string SerialNumber { get; set; } + public string SerialNumber { get; protected set; } /// - /// Certificate last issuance time + /// Gets certificate last issuance time. /// [JsonProperty(PropertyName = "properties.lastCertificateIssuanceTime")] - public DateTime? LastCertificateIssuanceTime { get; set; } + public System.DateTime? LastCertificateIssuanceTime { get; protected set; } /// - /// Certificate expiration time + /// Gets certificate expiration time. /// [JsonProperty(PropertyName = "properties.expirationTime")] - public DateTime? ExpirationTime { get; set; } + public System.DateTime? ExpirationTime { get; protected set; } /// - /// Is Private Key External + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// private key is external; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.isPrivateKeyExternal")] public bool? IsPrivateKeyExternal { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.Certificates != null) + if (Certificates != null) { - foreach (var valueElement in this.Certificates.Values) + foreach (var valueElement in Certificates.Values) { if (valueElement != null) { @@ -174,18 +223,15 @@ public override void Validate() } } } - if (this.SignedCertificate != null) + if (ValidityInYears > 3) { - this.SignedCertificate.Validate(); + throw new ValidationException(ValidationRules.InclusiveMaximum, "ValidityInYears", 3); } - if (this.Intermediate != null) + if (ValidityInYears < 1) { - this.Intermediate.Validate(); - } - if (this.Root != null) - { - this.Root.Validate(); + throw new ValidationException(ValidationRules.InclusiveMinimum, "ValidityInYears", 1); } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceEnvironment.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceEnvironment.cs index 7e342d156941..1b25f9871181 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceEnvironment.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServiceEnvironment.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Description of an hostingEnvironment (App Service Environment) + /// Description of an App Service Environment. /// [JsonTransformation] public partial class AppServiceEnvironment : Resource @@ -30,8 +32,92 @@ public AppServiceEnvironment() { } /// /// Initializes a new instance of the AppServiceEnvironment class. /// - public AppServiceEnvironment(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string appServiceEnvironmentName = default(string), string appServiceEnvironmentLocation = default(string), ProvisioningState? provisioningState = default(ProvisioningState?), HostingEnvironmentStatus? status = default(HostingEnvironmentStatus?), string vnetName = default(string), string vnetResourceGroupName = default(string), string vnetSubnetName = default(string), VirtualNetworkProfile virtualNetwork = default(VirtualNetworkProfile), InternalLoadBalancingMode? internalLoadBalancingMode = default(InternalLoadBalancingMode?), string multiSize = default(string), int? multiRoleCount = default(int?), IList workerPools = default(IList), int? ipsslAddressCount = default(int?), string databaseEdition = default(string), string databaseServiceObjective = default(string), int? upgradeDomains = default(int?), string subscriptionId = default(string), string dnsSuffix = default(string), string lastAction = default(string), string lastActionResult = default(string), string allowedMultiSizes = default(string), string allowedWorkerSizes = default(string), int? maximumNumberOfMachines = default(int?), IList vipMappings = default(IList), IList environmentCapacities = default(IList), IList networkAccessControlList = default(IList), bool? environmentIsHealthy = default(bool?), string environmentStatus = default(string), string resourceGroup = default(string), int? frontEndScaleFactor = default(int?), string apiManagementAccountId = default(string), bool? suspended = default(bool?), bool? dynamicCacheEnabled = default(bool?), IList clusterSettings = default(IList)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name of the App Service + /// Environment. + /// Location of the App + /// Service Environment, e.g. "West US". + /// Provisioning state of the App + /// Service Environment. Possible values include: 'Succeeded', + /// 'Failed', 'Canceled', 'InProgress', 'Deleting' + /// Current status of the App Service Environment. + /// Possible values include: 'Preparing', 'Ready', 'Scaling', + /// 'Deleting' + /// Name of the Virtual Network for the App + /// Service Environment. + /// Resource group of the Virtual + /// Network. + /// Subnet of the Virtual Network. + /// Description of the Virtual + /// Network. + /// Specifies which endpoints + /// to serve internally in the Virtual Network for the App Service + /// Environment. Possible values include: 'None', 'Web', + /// 'Publishing' + /// Front-end VM size, e.g. "Medium", + /// "Large". + /// Number of front-end instances. + /// Description of worker pools with worker + /// size IDs, VM sizes, and number of workers in each pool. + /// Number of IP SSL addresses reserved + /// for the App Service Environment. + /// Edition of the metadata database for + /// the App Service Environment, e.g. "Standard". + /// Service objective of the + /// metadata database for the App Service Environment, e.g. + /// "S0". + /// Number of upgrade domains of the App + /// Service Environment. + /// Subscription of the App Service + /// Environment. + /// DNS suffix of the App Service + /// Environment. + /// Last deployment action on the App Service + /// Environment. + /// Result of the last deployment action + /// on the App Service Environment. + /// List of comma separated strings + /// describing which VM sizes are allowed for front-ends. + /// List of comma separated strings + /// describing which VM sizes are allowed for workers. + /// Maximum number of VMs in the + /// App Service Environment. + /// Description of IP SSL mapping for the App + /// Service Environment. + /// Current total, used, and + /// available worker capacities. + /// Access control list for + /// controlling traffic to the App Service Environment. + /// True/false indicating whether + /// the App Service Environment is healthy. + /// Detailed message about with results + /// of the last check of the App Service Environment. + /// Resource group of the App Service + /// Environment. + /// Scale factor for + /// front-ends. + /// Default Scale Factor for + /// FrontEnds. + /// API Management Account + /// associated with the App Service Environment. + /// <code>true</code> if the App + /// Service Environment is suspended; otherwise, + /// <code>false</code>. The environment can be suspended, + /// e.g. when the management endpoint is no longer available + /// (most likely because NSG blocked the incoming traffic). + /// True/false indicating whether the + /// App Service Environment is suspended. The environment can be + /// suspended e.g. when the management endpoint is no longer available + /// (most likely because NSG blocked the incoming traffic). + /// Custom settings for changing the + /// behavior of the App Service Environment. + public AppServiceEnvironment(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string appServiceEnvironmentName = default(string), string appServiceEnvironmentLocation = default(string), ProvisioningState? provisioningState = default(ProvisioningState?), HostingEnvironmentStatus? status = default(HostingEnvironmentStatus?), string vnetName = default(string), string vnetResourceGroupName = default(string), string vnetSubnetName = default(string), VirtualNetworkProfile virtualNetwork = default(VirtualNetworkProfile), InternalLoadBalancingMode? internalLoadBalancingMode = default(InternalLoadBalancingMode?), string multiSize = default(string), int? multiRoleCount = default(int?), IList workerPools = default(IList), int? ipsslAddressCount = default(int?), string databaseEdition = default(string), string databaseServiceObjective = default(string), int? upgradeDomains = default(int?), string subscriptionId = default(string), string dnsSuffix = default(string), string lastAction = default(string), string lastActionResult = default(string), string allowedMultiSizes = default(string), string allowedWorkerSizes = default(string), int? maximumNumberOfMachines = default(int?), IList vipMappings = default(IList), IList environmentCapacities = default(IList), IList networkAccessControlList = default(IList), bool? environmentIsHealthy = default(bool?), string environmentStatus = default(string), string resourceGroup = default(string), int? frontEndScaleFactor = default(int?), int? defaultFrontEndScaleFactor = default(int?), string apiManagementAccountId = default(string), bool? suspended = default(bool?), bool? dynamicCacheEnabled = default(bool?), IList clusterSettings = default(IList)) + : base(location, id, name, kind, type, tags) { AppServiceEnvironmentName = appServiceEnvironmentName; AppServiceEnvironmentLocation = appServiceEnvironmentLocation; @@ -63,6 +149,7 @@ public AppServiceEnvironment() { } EnvironmentStatus = environmentStatus; ResourceGroup = resourceGroup; FrontEndScaleFactor = frontEndScaleFactor; + DefaultFrontEndScaleFactor = defaultFrontEndScaleFactor; ApiManagementAccountId = apiManagementAccountId; Suspended = suspended; DynamicCacheEnabled = dynamicCacheEnabled; @@ -70,249 +157,254 @@ public AppServiceEnvironment() { } } /// - /// Name of the hostingEnvironment (App Service Environment) + /// Gets or sets name of the App Service Environment. /// [JsonProperty(PropertyName = "properties.name")] public string AppServiceEnvironmentName { get; set; } /// - /// Location of the hostingEnvironment (App Service Environment), e.g. - /// "West US" + /// Gets or sets location of the App Service Environment, e.g. "West + /// US". /// [JsonProperty(PropertyName = "properties.location")] public string AppServiceEnvironmentLocation { get; set; } /// - /// Provisioning state of the hostingEnvironment (App Service - /// Environment). Possible values include: 'Succeeded', 'Failed', - /// 'Canceled', 'InProgress', 'Deleting' + /// Gets provisioning state of the App Service Environment. Possible + /// values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', + /// 'Deleting' /// [JsonProperty(PropertyName = "properties.provisioningState")] - public ProvisioningState? ProvisioningState { get; set; } + public ProvisioningState? ProvisioningState { get; protected set; } /// - /// Current status of the hostingEnvironment (App Service - /// Environment). Possible values include: 'Preparing', 'Ready', - /// 'Scaling', 'Deleting' + /// Gets current status of the App Service Environment. Possible values + /// include: 'Preparing', 'Ready', 'Scaling', 'Deleting' /// [JsonProperty(PropertyName = "properties.status")] - public HostingEnvironmentStatus? Status { get; set; } + public HostingEnvironmentStatus? Status { get; protected set; } /// - /// Name of the hostingEnvironment's (App Service Environment) virtual - /// network + /// Gets or sets name of the Virtual Network for the App Service + /// Environment. /// [JsonProperty(PropertyName = "properties.vnetName")] public string VnetName { get; set; } /// - /// Resource group of the hostingEnvironment's (App Service - /// Environment) virtual network + /// Gets or sets resource group of the Virtual Network. /// [JsonProperty(PropertyName = "properties.vnetResourceGroupName")] public string VnetResourceGroupName { get; set; } /// - /// Subnet of the hostingEnvironment's (App Service Environment) - /// virtual network + /// Gets or sets subnet of the Virtual Network. /// [JsonProperty(PropertyName = "properties.vnetSubnetName")] public string VnetSubnetName { get; set; } /// - /// Description of the hostingEnvironment's (App Service Environment) - /// virtual network + /// Gets or sets description of the Virtual Network. /// [JsonProperty(PropertyName = "properties.virtualNetwork")] public VirtualNetworkProfile VirtualNetwork { get; set; } /// - /// Specifies which endpoints to serve internally in the - /// hostingEnvironment's (App Service Environment) VNET. Possible - /// values include: 'None', 'Web', 'Publishing' + /// Gets or sets specifies which endpoints to serve internally in the + /// Virtual Network for the App Service Environment. Possible values + /// include: 'None', 'Web', 'Publishing' /// [JsonProperty(PropertyName = "properties.internalLoadBalancingMode")] public InternalLoadBalancingMode? InternalLoadBalancingMode { get; set; } /// - /// Front-end VM size, e.g. "Medium", "Large" + /// Gets or sets front-end VM size, e.g. "Medium", "Large". /// [JsonProperty(PropertyName = "properties.multiSize")] public string MultiSize { get; set; } /// - /// Number of front-end instances + /// Gets or sets number of front-end instances. /// [JsonProperty(PropertyName = "properties.multiRoleCount")] public int? MultiRoleCount { get; set; } /// - /// Description of worker pools with worker size ids, VM sizes, and - /// number of workers in each pool + /// Gets or sets description of worker pools with worker size IDs, VM + /// sizes, and number of workers in each pool. /// [JsonProperty(PropertyName = "properties.workerPools")] public IList WorkerPools { get; set; } /// - /// Number of IP SSL addresses reserved for this hostingEnvironment - /// (App Service Environment) + /// Gets or sets number of IP SSL addresses reserved for the App + /// Service Environment. /// [JsonProperty(PropertyName = "properties.ipsslAddressCount")] public int? IpsslAddressCount { get; set; } /// - /// Edition of the metadata database for the hostingEnvironment (App - /// Service Environment) e.g. "Standard" + /// Gets edition of the metadata database for the App Service + /// Environment, e.g. "Standard". /// [JsonProperty(PropertyName = "properties.databaseEdition")] - public string DatabaseEdition { get; set; } + public string DatabaseEdition { get; protected set; } /// - /// Service objective of the metadata database for the - /// hostingEnvironment (App Service Environment) e.g. "S0" + /// Gets service objective of the metadata database for the App Service + /// Environment, e.g. "S0". /// [JsonProperty(PropertyName = "properties.databaseServiceObjective")] - public string DatabaseServiceObjective { get; set; } + public string DatabaseServiceObjective { get; protected set; } /// - /// Number of upgrade domains of this hostingEnvironment (App Service - /// Environment) + /// Gets number of upgrade domains of the App Service Environment. /// [JsonProperty(PropertyName = "properties.upgradeDomains")] - public int? UpgradeDomains { get; set; } + public int? UpgradeDomains { get; protected set; } /// - /// Subscription of the hostingEnvironment (App Service Environment) + /// Gets subscription of the App Service Environment. /// [JsonProperty(PropertyName = "properties.subscriptionId")] - public string SubscriptionId { get; set; } + public string SubscriptionId { get; protected set; } /// - /// DNS suffix of the hostingEnvironment (App Service Environment) + /// Gets or sets DNS suffix of the App Service Environment. /// [JsonProperty(PropertyName = "properties.dnsSuffix")] public string DnsSuffix { get; set; } /// - /// Last deployment action on this hostingEnvironment (App Service - /// Environment) + /// Gets last deployment action on the App Service Environment. /// [JsonProperty(PropertyName = "properties.lastAction")] - public string LastAction { get; set; } + public string LastAction { get; protected set; } /// - /// Result of the last deployment action on this hostingEnvironment - /// (App Service Environment) + /// Gets result of the last deployment action on the App Service + /// Environment. /// [JsonProperty(PropertyName = "properties.lastActionResult")] - public string LastActionResult { get; set; } + public string LastActionResult { get; protected set; } /// - /// List of comma separated strings describing which VM sizes are - /// allowed for front-ends + /// Gets list of comma separated strings describing which VM sizes are + /// allowed for front-ends. /// [JsonProperty(PropertyName = "properties.allowedMultiSizes")] - public string AllowedMultiSizes { get; set; } + public string AllowedMultiSizes { get; protected set; } /// - /// List of comma separated strings describing which VM sizes are - /// allowed for workers + /// Gets list of comma separated strings describing which VM sizes are + /// allowed for workers. /// [JsonProperty(PropertyName = "properties.allowedWorkerSizes")] - public string AllowedWorkerSizes { get; set; } + public string AllowedWorkerSizes { get; protected set; } /// - /// Maximum number of VMs in this hostingEnvironment (App Service - /// Environment) + /// Gets maximum number of VMs in the App Service Environment. /// [JsonProperty(PropertyName = "properties.maximumNumberOfMachines")] - public int? MaximumNumberOfMachines { get; set; } + public int? MaximumNumberOfMachines { get; protected set; } /// - /// Description of IP SSL mapping for this hostingEnvironment (App - /// Service Environment) + /// Gets description of IP SSL mapping for the App Service Environment. /// [JsonProperty(PropertyName = "properties.vipMappings")] - public IList VipMappings { get; set; } + public IList VipMappings { get; protected set; } /// - /// Current total, used, and available worker capacities + /// Gets current total, used, and available worker capacities. /// [JsonProperty(PropertyName = "properties.environmentCapacities")] - public IList EnvironmentCapacities { get; set; } + public IList EnvironmentCapacities { get; protected set; } /// - /// Access control list for controlling traffic to the - /// hostingEnvironment (App Service Environment) + /// Gets or sets access control list for controlling traffic to the App + /// Service Environment. /// [JsonProperty(PropertyName = "properties.networkAccessControlList")] public IList NetworkAccessControlList { get; set; } /// - /// True/false indicating whether the hostingEnvironment (App Service - /// Environment) is healthy + /// Gets true/false indicating whether the App Service Environment is + /// healthy. /// [JsonProperty(PropertyName = "properties.environmentIsHealthy")] - public bool? EnvironmentIsHealthy { get; set; } + public bool? EnvironmentIsHealthy { get; protected set; } /// - /// Detailed message about with results of the last check of the - /// hostingEnvironment (App Service Environment) + /// Gets detailed message about with results of the last check of the + /// App Service Environment. /// [JsonProperty(PropertyName = "properties.environmentStatus")] - public string EnvironmentStatus { get; set; } + public string EnvironmentStatus { get; protected set; } /// - /// Resource group of the hostingEnvironment (App Service Environment) + /// Gets resource group of the App Service Environment. /// [JsonProperty(PropertyName = "properties.resourceGroup")] - public string ResourceGroup { get; set; } + public string ResourceGroup { get; protected set; } /// - /// Scale Factor for FrontEnds + /// Gets or sets scale factor for front-ends. /// [JsonProperty(PropertyName = "properties.frontEndScaleFactor")] public int? FrontEndScaleFactor { get; set; } /// + /// Gets default Scale Factor for FrontEnds. + /// + [JsonProperty(PropertyName = "properties.defaultFrontEndScaleFactor")] + public int? DefaultFrontEndScaleFactor { get; protected set; } + + /// + /// Gets or sets API Management Account associated with the App Service + /// Environment. /// [JsonProperty(PropertyName = "properties.apiManagementAccountId")] public string ApiManagementAccountId { get; set; } /// - /// True/false indicating whether the hostingEnvironment is suspended. - /// The environment can be suspended e.g. when the management - /// endpoint is no longer available - /// (most likely because NSG blocked the incoming traffic) + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// App Service Environment is suspended; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. The environment can + /// be suspended, e.g. when the management endpoint is no longer + /// available + /// (most likely because NSG blocked the incoming traffic). /// [JsonProperty(PropertyName = "properties.suspended")] public bool? Suspended { get; set; } /// - /// True/false indicating whether the hostingEnvironment is suspended. - /// The environment can be suspended e.g. when the management - /// endpoint is no longer available - /// (most likely because NSG blocked the incoming traffic) + /// Gets or sets true/false indicating whether the App Service + /// Environment is suspended. The environment can be suspended e.g. + /// when the management endpoint is no longer available + /// (most likely because NSG blocked the incoming traffic). /// [JsonProperty(PropertyName = "properties.dynamicCacheEnabled")] public bool? DynamicCacheEnabled { get; set; } /// - /// Custom settings for changing the behavior of the hosting - /// environment + /// Gets or sets custom settings for changing the behavior of the App + /// Service Environment. /// [JsonProperty(PropertyName = "properties.clusterSettings")] public IList ClusterSettings { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.WorkerPools != null) + if (WorkerPools != null) { - foreach (var element in this.WorkerPools) + foreach (var element in WorkerPools) { if (element != null) { @@ -323,3 +415,4 @@ public override void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServicePlan.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServicePlan.cs index 0dc9d1c51b46..824eedb7de07 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServicePlan.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServicePlan.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// App Service Plan Model + /// App Service plan. /// [JsonTransformation] public partial class AppServicePlan : Resource @@ -30,8 +32,43 @@ public AppServicePlan() { } /// /// Initializes a new instance of the AppServicePlan class. /// - public AppServicePlan(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string appServicePlanName = default(string), string workerTierName = default(string), StatusOptions? status = default(StatusOptions?), string subscription = default(string), string adminSiteName = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), int? maximumNumberOfWorkers = default(int?), string geoRegion = default(string), bool? perSiteScaling = default(bool?), int? numberOfSites = default(int?), string resourceGroup = default(string), SkuDescription sku = default(SkuDescription)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name for the App Service + /// plan. + /// Target worker tier assigned to the App + /// Service plan. + /// App Service plan status. Possible values + /// include: 'Ready', 'Pending' + /// App Service plan subscription. + /// App Service plan administration + /// site. + /// Specification for the App + /// Service Environment to use for the App Service plan. + /// Maximum number of instances + /// that can be assigned to this App Service plan. + /// Geographical location for the App Service + /// plan. + /// If <code>true</code>, apps + /// assigned to this App Service plan can be scaled independently. + /// If <code>false</code>, apps assigned to this App + /// Service plan will scale to all instances of the plan. + /// Number of apps assigned to this App + /// Service plan. + /// Resource group of the App Service + /// plan. + /// Reserved. + /// Scaling worker count. + /// Scaling worker size ID. + /// Provisioning state of the App + /// Service Environment. Possible values include: 'Succeeded', + /// 'Failed', 'Canceled', 'InProgress', 'Deleting' + public AppServicePlan(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string appServicePlanName = default(string), string workerTierName = default(string), StatusOptions? status = default(StatusOptions?), string subscription = default(string), string adminSiteName = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), int? maximumNumberOfWorkers = default(int?), string geoRegion = default(string), bool? perSiteScaling = default(bool?), int? numberOfSites = default(int?), string resourceGroup = default(string), bool? reserved = default(bool?), int? targetWorkerCount = default(int?), int? targetWorkerSizeId = default(int?), ProvisioningState? provisioningState = default(ProvisioningState?), SkuDescription sku = default(SkuDescription)) + : base(location, id, name, kind, type, tags) { AppServicePlanName = appServicePlanName; WorkerTierName = workerTierName; @@ -44,80 +81,110 @@ public AppServicePlan() { } PerSiteScaling = perSiteScaling; NumberOfSites = numberOfSites; ResourceGroup = resourceGroup; + Reserved = reserved; + TargetWorkerCount = targetWorkerCount; + TargetWorkerSizeId = targetWorkerSizeId; + ProvisioningState = provisioningState; Sku = sku; } /// - /// Name for the App Service Plan + /// Gets or sets name for the App Service plan. /// [JsonProperty(PropertyName = "properties.name")] public string AppServicePlanName { get; set; } /// - /// Target worker tier assigned to the App Service Plan + /// Gets or sets target worker tier assigned to the App Service plan. /// [JsonProperty(PropertyName = "properties.workerTierName")] public string WorkerTierName { get; set; } /// - /// App Service Plan Status. Possible values include: 'Ready', + /// Gets app Service plan status. Possible values include: 'Ready', /// 'Pending' /// [JsonProperty(PropertyName = "properties.status")] - public StatusOptions? Status { get; set; } + public StatusOptions? Status { get; protected set; } /// - /// App Service Plan Subscription + /// Gets app Service plan subscription. /// [JsonProperty(PropertyName = "properties.subscription")] - public string Subscription { get; set; } + public string Subscription { get; protected set; } /// - /// App Service Plan administration site + /// Gets or sets app Service plan administration site. /// [JsonProperty(PropertyName = "properties.adminSiteName")] public string AdminSiteName { get; set; } /// - /// Specification for the hosting environment (App Service - /// Environment) to use for the App Service Plan + /// Gets or sets specification for the App Service Environment to use + /// for the App Service plan. /// [JsonProperty(PropertyName = "properties.hostingEnvironmentProfile")] public HostingEnvironmentProfile HostingEnvironmentProfile { get; set; } /// - /// Maximum number of instances that can be assigned to this App - /// Service Plan + /// Gets maximum number of instances that can be assigned to this App + /// Service plan. /// [JsonProperty(PropertyName = "properties.maximumNumberOfWorkers")] - public int? MaximumNumberOfWorkers { get; set; } + public int? MaximumNumberOfWorkers { get; protected set; } /// - /// Geographical location for the App Service Plan + /// Gets geographical location for the App Service plan. /// [JsonProperty(PropertyName = "properties.geoRegion")] - public string GeoRegion { get; set; } + public string GeoRegion { get; protected set; } /// - /// If True apps assigned to this App Service Plan can be scaled - /// independently - /// If False apps assigned to this App Service Plan will - /// scale to all instances of the plan + /// Gets or sets if &lt;code&gt;true&lt;/code&gt;, apps + /// assigned to this App Service plan can be scaled independently. + /// If &lt;code&gt;false&lt;/code&gt;, apps assigned to + /// this App Service plan will scale to all instances of the plan. /// [JsonProperty(PropertyName = "properties.perSiteScaling")] public bool? PerSiteScaling { get; set; } /// - /// Number of web apps assigned to this App Service Plan + /// Gets number of apps assigned to this App Service plan. /// [JsonProperty(PropertyName = "properties.numberOfSites")] - public int? NumberOfSites { get; set; } + public int? NumberOfSites { get; protected set; } /// - /// Resource group of the serverfarm + /// Gets resource group of the App Service plan. /// [JsonProperty(PropertyName = "properties.resourceGroup")] - public string ResourceGroup { get; set; } + public string ResourceGroup { get; protected set; } + + /// + /// Gets or sets reserved. + /// + [JsonProperty(PropertyName = "properties.reserved")] + public bool? Reserved { get; set; } + + /// + /// Gets or sets scaling worker count. + /// + [JsonProperty(PropertyName = "properties.targetWorkerCount")] + public int? TargetWorkerCount { get; set; } + + /// + /// Gets or sets scaling worker size ID. + /// + [JsonProperty(PropertyName = "properties.targetWorkerSizeId")] + public int? TargetWorkerSizeId { get; set; } + + /// + /// Gets provisioning state of the App Service Environment. Possible + /// values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', + /// 'Deleting' + /// + [JsonProperty(PropertyName = "properties.provisioningState")] + public ProvisioningState? ProvisioningState { get; protected set; } /// /// @@ -125,11 +192,15 @@ public AppServicePlan() { } public SkuDescription Sku { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServicePlanRestrictions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServicePlanRestrictions.cs new file mode 100644 index 000000000000..04962f815070 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AppServicePlanRestrictions.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Newtonsoft.Json; + using Newtonsoft.Json.Converters; + using System.Runtime; + using System.Runtime.Serialization; + + /// + /// Defines values for AppServicePlanRestrictions. + /// + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] + public enum AppServicePlanRestrictions + { + [EnumMember(Value = "None")] + None, + [EnumMember(Value = "Free")] + Free, + [EnumMember(Value = "Shared")] + Shared, + [EnumMember(Value = "Basic")] + Basic, + [EnumMember(Value = "Standard")] + Standard, + [EnumMember(Value = "Premium")] + Premium + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApplicationLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApplicationLogsConfig.cs index 613450214e42..bc3834aee577 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApplicationLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ApplicationLogsConfig.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Application logs configuration + /// Application logs configuration. /// public partial class ApplicationLogsConfig { @@ -29,6 +27,12 @@ public ApplicationLogsConfig() { } /// /// Initializes a new instance of the ApplicationLogsConfig class. /// + /// Application logs to file system + /// configuration. + /// Application logs to azure table + /// storage configuration. + /// Application logs to blob storage + /// configuration. public ApplicationLogsConfig(FileSystemApplicationLogsConfig fileSystem = default(FileSystemApplicationLogsConfig), AzureTableStorageApplicationLogsConfig azureTableStorage = default(AzureTableStorageApplicationLogsConfig), AzureBlobStorageApplicationLogsConfig azureBlobStorage = default(AzureBlobStorageApplicationLogsConfig)) { FileSystem = fileSystem; @@ -37,22 +41,36 @@ public ApplicationLogsConfig() { } } /// - /// Application logs to file system configuration + /// Gets or sets application logs to file system configuration. /// [JsonProperty(PropertyName = "fileSystem")] public FileSystemApplicationLogsConfig FileSystem { get; set; } /// - /// Application logs to azure table storage configuration + /// Gets or sets application logs to azure table storage configuration. /// [JsonProperty(PropertyName = "azureTableStorage")] public AzureTableStorageApplicationLogsConfig AzureTableStorage { get; set; } /// - /// Application logs to blob storage configuration + /// Gets or sets application logs to blob storage configuration. /// [JsonProperty(PropertyName = "azureBlobStorage")] public AzureBlobStorageApplicationLogsConfig AzureBlobStorage { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (AzureTableStorage != null) + { + AzureTableStorage.Validate(); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ArmPlan.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ArmPlan.cs deleted file mode 100644 index fd6692f719ff..000000000000 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ArmPlan.cs +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. - -namespace Microsoft.Azure.Management.WebSites.Models -{ - using System; - using System.Linq; - using System.Collections.Generic; - using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; - - /// - /// The plan object in an ARM, represents a marketplace plan - /// - public partial class ArmPlan - { - /// - /// Initializes a new instance of the ArmPlan class. - /// - public ArmPlan() { } - - /// - /// Initializes a new instance of the ArmPlan class. - /// - public ArmPlan(string name = default(string), string publisher = default(string), string product = default(string), string promotionCode = default(string), string version = default(string)) - { - Name = name; - Publisher = publisher; - Product = product; - PromotionCode = promotionCode; - Version = version; - } - - /// - /// The name - /// - [JsonProperty(PropertyName = "name")] - public string Name { get; set; } - - /// - /// The publisher - /// - [JsonProperty(PropertyName = "publisher")] - public string Publisher { get; set; } - - /// - /// The product - /// - [JsonProperty(PropertyName = "product")] - public string Product { get; set; } - - /// - /// The promotion code - /// - [JsonProperty(PropertyName = "promotionCode")] - public string PromotionCode { get; set; } - - /// - /// Version of product - /// - [JsonProperty(PropertyName = "version")] - public string Version { get; set; } - - } -} diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActionType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActionType.cs index 249e04bd2971..b0371f2950cf 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActionType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActionType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for AutoHealActionType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum AutoHealActionType { [EnumMember(Value = "Recycle")] @@ -26,3 +30,4 @@ public enum AutoHealActionType CustomAction } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActions.cs index 0d3f8d24168d..fb2c306563f7 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealActions.cs @@ -1,24 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// AutoHealActions - Describes the actions which can be - /// taken by the auto-heal module when a rule is triggered. + /// Actions which to take by the auto-heal module when a rule is triggered. /// public partial class AutoHealActions { @@ -30,7 +27,13 @@ public AutoHealActions() { } /// /// Initializes a new instance of the AutoHealActions class. /// - public AutoHealActions(AutoHealActionType actionType, AutoHealCustomAction customAction = default(AutoHealCustomAction), string minProcessExecutionTime = default(string)) + /// Predefined action to be taken. Possible + /// values include: 'Recycle', 'LogEvent', 'CustomAction' + /// Custom action to be taken. + /// Minimum time the process must + /// execute + /// before taking the action + public AutoHealActions(AutoHealActionType? actionType = default(AutoHealActionType?), AutoHealCustomAction customAction = default(AutoHealCustomAction), string minProcessExecutionTime = default(string)) { ActionType = actionType; CustomAction = customAction; @@ -38,30 +41,25 @@ public AutoHealActions() { } } /// - /// ActionType - predefined action to be taken. Possible values + /// Gets or sets predefined action to be taken. Possible values /// include: 'Recycle', 'LogEvent', 'CustomAction' /// [JsonProperty(PropertyName = "actionType")] - public AutoHealActionType ActionType { get; set; } + public AutoHealActionType? ActionType { get; set; } /// - /// CustomAction - custom action to be taken + /// Gets or sets custom action to be taken. /// [JsonProperty(PropertyName = "customAction")] public AutoHealCustomAction CustomAction { get; set; } /// - /// MinProcessExecutionTime - minimum time the process must execute + /// Gets or sets minimum time the process must execute /// before taking the action /// [JsonProperty(PropertyName = "minProcessExecutionTime")] public string MinProcessExecutionTime { get; set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public virtual void Validate() - { - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealCustomAction.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealCustomAction.cs index 2410c4f2c0f4..607ad9c61dee 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealCustomAction.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealCustomAction.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// AutoHealCustomAction - Describes the custom action to be executed + /// Custom action to be executed /// when an auto heal rule is triggered. /// public partial class AutoHealCustomAction @@ -30,6 +28,8 @@ public AutoHealCustomAction() { } /// /// Initializes a new instance of the AutoHealCustomAction class. /// + /// Executable to be run. + /// Parameters for the executable. public AutoHealCustomAction(string exe = default(string), string parameters = default(string)) { Exe = exe; @@ -37,16 +37,17 @@ public AutoHealCustomAction() { } } /// - /// Executable to be run + /// Gets or sets executable to be run. /// [JsonProperty(PropertyName = "exe")] public string Exe { get; set; } /// - /// Parameters for the executable + /// Gets or sets parameters for the executable. /// [JsonProperty(PropertyName = "parameters")] public string Parameters { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealRules.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealRules.cs index 71c9d896c6a7..1f43da3d5a12 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealRules.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealRules.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// AutoHealRules - describes the rules which can be defined for auto-heal + /// Rules that can be defined for auto-heal. /// public partial class AutoHealRules { @@ -29,6 +27,10 @@ public AutoHealRules() { } /// /// Initializes a new instance of the AutoHealRules class. /// + /// Conditions that describe when to execute the + /// auto-heal actions. + /// Actions to be executed when a rule is + /// triggered. public AutoHealRules(AutoHealTriggers triggers = default(AutoHealTriggers), AutoHealActions actions = default(AutoHealActions)) { Triggers = triggers; @@ -36,27 +38,18 @@ public AutoHealRules() { } } /// - /// Triggers - Conditions that describe when to execute the auto-heal - /// actions + /// Gets or sets conditions that describe when to execute the auto-heal + /// actions. /// [JsonProperty(PropertyName = "triggers")] public AutoHealTriggers Triggers { get; set; } /// - /// Actions - Actions to be executed when a rule is triggered + /// Gets or sets actions to be executed when a rule is triggered. /// [JsonProperty(PropertyName = "actions")] public AutoHealActions Actions { get; set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public virtual void Validate() - { - if (this.Actions != null) - { - this.Actions.Validate(); - } - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealTriggers.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealTriggers.cs index e4c5d971f879..95737412ecb0 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealTriggers.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AutoHealTriggers.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// AutoHealTriggers - describes the triggers for auto-heal. + /// Triggers for auto-heal. /// public partial class AutoHealTriggers { @@ -29,6 +29,12 @@ public AutoHealTriggers() { } /// /// Initializes a new instance of the AutoHealTriggers class. /// + /// A rule based on total requests. + /// A rule based on private + /// bytes. + /// A rule based on status codes. + /// A rule based on request execution + /// time. public AutoHealTriggers(RequestsBasedTrigger requests = default(RequestsBasedTrigger), int? privateBytesInKB = default(int?), IList statusCodes = default(IList), SlowRequestsBasedTrigger slowRequests = default(SlowRequestsBasedTrigger)) { Requests = requests; @@ -38,28 +44,29 @@ public AutoHealTriggers() { } } /// - /// Requests - Defines a rule based on total requests + /// Gets or sets a rule based on total requests. /// [JsonProperty(PropertyName = "requests")] public RequestsBasedTrigger Requests { get; set; } /// - /// PrivateBytesInKB - Defines a rule based on private bytes + /// Gets or sets a rule based on private bytes. /// [JsonProperty(PropertyName = "privateBytesInKB")] public int? PrivateBytesInKB { get; set; } /// - /// StatusCodes - Defines a rule based on status codes + /// Gets or sets a rule based on status codes. /// [JsonProperty(PropertyName = "statusCodes")] public IList StatusCodes { get; set; } /// - /// SlowRequests - Defines a rule based on request execution time + /// Gets or sets a rule based on request execution time. /// [JsonProperty(PropertyName = "slowRequests")] public SlowRequestsBasedTrigger SlowRequests { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageApplicationLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageApplicationLogsConfig.cs index a61edd53bf49..1402ccb39a50 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageApplicationLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageApplicationLogsConfig.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Application logs azure blob storage configuration + /// Application logs azure blob storage configuration. /// public partial class AzureBlobStorageApplicationLogsConfig { @@ -31,6 +29,13 @@ public AzureBlobStorageApplicationLogsConfig() { } /// Initializes a new instance of the /// AzureBlobStorageApplicationLogsConfig class. /// + /// Log level. Possible values include: 'Off', + /// 'Verbose', 'Information', 'Warning', 'Error' + /// SAS url to a azure blob container with + /// read/write/list/delete permissions. + /// Retention in days. + /// Remove blobs older than X days. + /// 0 or lower means no retention. public AzureBlobStorageApplicationLogsConfig(LogLevel? level = default(LogLevel?), string sasUrl = default(string), int? retentionInDays = default(int?)) { Level = level; @@ -39,21 +44,21 @@ public AzureBlobStorageApplicationLogsConfig() { } } /// - /// Log level. Possible values include: 'Off', 'Verbose', + /// Gets or sets log level. Possible values include: 'Off', 'Verbose', /// 'Information', 'Warning', 'Error' /// [JsonProperty(PropertyName = "level")] public LogLevel? Level { get; set; } /// - /// SAS url to a azure blob container with read/write/list/delete - /// permissions + /// Gets or sets SAS url to a azure blob container with + /// read/write/list/delete permissions. /// [JsonProperty(PropertyName = "sasUrl")] public string SasUrl { get; set; } /// - /// Retention in days. + /// Gets or sets retention in days. /// Remove blobs older than X days. /// 0 or lower means no retention. /// @@ -62,3 +67,4 @@ public AzureBlobStorageApplicationLogsConfig() { } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageHttpLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageHttpLogsConfig.cs index 2a7efbc12a08..26c95710b905 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageHttpLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureBlobStorageHttpLogsConfig.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Http logs to azure blob storage configuration + /// Http logs to azure blob storage configuration. /// public partial class AzureBlobStorageHttpLogsConfig { @@ -31,6 +29,12 @@ public AzureBlobStorageHttpLogsConfig() { } /// Initializes a new instance of the AzureBlobStorageHttpLogsConfig /// class. /// + /// SAS url to a azure blob container with + /// read/write/list/delete permissions. + /// Retention in days. + /// Remove blobs older than X days. + /// 0 or lower means no retention. + /// Enabled. public AzureBlobStorageHttpLogsConfig(string sasUrl = default(string), int? retentionInDays = default(int?), bool? enabled = default(bool?)) { SasUrl = sasUrl; @@ -39,14 +43,14 @@ public AzureBlobStorageHttpLogsConfig() { } } /// - /// SAS url to a azure blob container with read/write/list/delete - /// permissions + /// Gets or sets SAS url to a azure blob container with + /// read/write/list/delete permissions. /// [JsonProperty(PropertyName = "sasUrl")] public string SasUrl { get; set; } /// - /// Retention in days. + /// Gets or sets retention in days. /// Remove blobs older than X days. /// 0 or lower means no retention. /// @@ -54,10 +58,11 @@ public AzureBlobStorageHttpLogsConfig() { } public int? RetentionInDays { get; set; } /// - /// Enabled + /// Gets or sets enabled. /// [JsonProperty(PropertyName = "enabled")] public bool? Enabled { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureResourceType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureResourceType.cs index af0230536ad0..b666f6ed8ec5 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureResourceType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureResourceType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for AzureResourceType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum AzureResourceType { [EnumMember(Value = "Website")] @@ -24,3 +28,4 @@ public enum AzureResourceType TrafficManager } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureTableStorageApplicationLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureTableStorageApplicationLogsConfig.cs index d0fcc4ba2ae4..84218f15c94d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureTableStorageApplicationLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/AzureTableStorageApplicationLogsConfig.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Application logs to azure table storage configuration + /// Application logs to Azure table storage configuration. /// public partial class AzureTableStorageApplicationLogsConfig { @@ -31,24 +30,43 @@ public AzureTableStorageApplicationLogsConfig() { } /// Initializes a new instance of the /// AzureTableStorageApplicationLogsConfig class. /// - public AzureTableStorageApplicationLogsConfig(LogLevel? level = default(LogLevel?), string sasUrl = default(string)) + /// SAS URL to an Azure table with + /// add/query/delete permissions. + /// Log level. Possible values include: 'Off', + /// 'Verbose', 'Information', 'Warning', 'Error' + public AzureTableStorageApplicationLogsConfig(string sasUrl, LogLevel? level = default(LogLevel?)) { Level = level; SasUrl = sasUrl; } /// - /// Log level. Possible values include: 'Off', 'Verbose', + /// Gets or sets log level. Possible values include: 'Off', 'Verbose', /// 'Information', 'Warning', 'Error' /// [JsonProperty(PropertyName = "level")] public LogLevel? Level { get; set; } /// - /// SAS url to an azure table with add/query/delete permissions + /// Gets or sets SAS URL to an Azure table with add/query/delete + /// permissions. /// [JsonProperty(PropertyName = "sasUrl")] public string SasUrl { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (SasUrl == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "SasUrl"); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItem.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItem.cs index ca17feb1f3ae..f0ea140c9ad7 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItem.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItem.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Backup description + /// Backup description. /// [JsonTransformation] public partial class BackupItem : Resource @@ -30,10 +32,43 @@ public BackupItem() { } /// /// Initializes a new instance of the BackupItem class. /// - public BackupItem(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? backupItemId = default(int?), string storageAccountUrl = default(string), string blobName = default(string), string backupItemName = default(string), BackupItemStatus? status = default(BackupItemStatus?), long? sizeInBytes = default(long?), DateTime? created = default(DateTime?), string log = default(string), IList databases = default(IList), bool? scheduled = default(bool?), DateTime? lastRestoreTimeStamp = default(DateTime?), DateTime? finishedTimeStamp = default(DateTime?), string correlationId = default(string), long? websiteSizeInBytes = default(long?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Id of the backup. + /// SAS URL for the storage account + /// container which contains this backup. + /// Name of the blob which contains data for + /// this backup. + /// Name of this backup. + /// Backup status. Possible values include: + /// 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created', + /// 'Skipped', 'PartiallySucceeded', 'DeleteInProgress', + /// 'DeleteFailed', 'Deleted' + /// Size of the backup in bytes. + /// Timestamp of the backup creation. + /// Details regarding this backup. Might contain an + /// error message. + /// List of databases included in the + /// backup. + /// True if this backup has been created due to + /// a schedule being triggered. + /// Timestamp of a last restore + /// operation which used this backup. + /// Timestamp when this backup + /// finished. + /// Unique correlation identifier. Please + /// use this along with the timestamp while communicating with Azure + /// support. + /// Size of the original web app which + /// has been backed up. + public BackupItem(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? backupId = default(int?), string storageAccountUrl = default(string), string blobName = default(string), string backupItemName = default(string), BackupItemStatus? status = default(BackupItemStatus?), long? sizeInBytes = default(long?), System.DateTime? created = default(System.DateTime?), string log = default(string), IList databases = default(IList), bool? scheduled = default(bool?), System.DateTime? lastRestoreTimeStamp = default(System.DateTime?), System.DateTime? finishedTimeStamp = default(System.DateTime?), string correlationId = default(string), long? websiteSizeInBytes = default(long?)) + : base(location, id, name, kind, type, tags) { - BackupItemId = backupItemId; + BackupId = backupId; StorageAccountUrl = storageAccountUrl; BlobName = blobName; BackupItemName = backupItemName; @@ -50,101 +85,114 @@ public BackupItem() { } } /// - /// Id of the backup. + /// Gets id of the backup. /// [JsonProperty(PropertyName = "properties.id")] - public int? BackupItemId { get; set; } + public int? BackupId { get; protected set; } /// - /// SAS URL for the storage account container which contains this - /// backup + /// Gets SAS URL for the storage account container which contains this + /// backup. /// [JsonProperty(PropertyName = "properties.storageAccountUrl")] - public string StorageAccountUrl { get; set; } + public string StorageAccountUrl { get; protected set; } /// - /// Name of the blob which contains data for this backup + /// Gets name of the blob which contains data for this backup. /// [JsonProperty(PropertyName = "properties.blobName")] - public string BlobName { get; set; } + public string BlobName { get; protected set; } /// - /// Name of this backup + /// Gets name of this backup. /// [JsonProperty(PropertyName = "properties.name")] - public string BackupItemName { get; set; } + public string BackupItemName { get; protected set; } /// - /// Backup status. Possible values include: 'InProgress', 'Failed', - /// 'Succeeded', 'TimedOut', 'Created', 'Skipped', - /// 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', - /// 'Deleted' + /// Gets backup status. Possible values include: 'InProgress', + /// 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', + /// 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' /// [JsonProperty(PropertyName = "properties.status")] - public BackupItemStatus? Status { get; set; } + public BackupItemStatus? Status { get; protected set; } /// - /// Size of the backup in bytes + /// Gets size of the backup in bytes. /// [JsonProperty(PropertyName = "properties.sizeInBytes")] - public long? SizeInBytes { get; set; } + public long? SizeInBytes { get; protected set; } /// - /// Timestamp of the backup creation + /// Gets timestamp of the backup creation. /// [JsonProperty(PropertyName = "properties.created")] - public DateTime? Created { get; set; } + public System.DateTime? Created { get; protected set; } /// - /// Details regarding this backup. Might contain an error message. + /// Gets details regarding this backup. Might contain an error message. /// [JsonProperty(PropertyName = "properties.log")] - public string Log { get; set; } + public string Log { get; protected set; } /// - /// List of databases included in the backup + /// Gets list of databases included in the backup. /// [JsonProperty(PropertyName = "properties.databases")] - public IList Databases { get; set; } + public IList Databases { get; protected set; } /// - /// True if this backup has been created due to a schedule being + /// Gets true if this backup has been created due to a schedule being /// triggered. /// [JsonProperty(PropertyName = "properties.scheduled")] - public bool? Scheduled { get; set; } + public bool? Scheduled { get; protected set; } /// - /// Timestamp of a last restore operation which used this backup. + /// Gets timestamp of a last restore operation which used this backup. /// [JsonProperty(PropertyName = "properties.lastRestoreTimeStamp")] - public DateTime? LastRestoreTimeStamp { get; set; } + public System.DateTime? LastRestoreTimeStamp { get; protected set; } /// - /// Timestamp when this backup finished. + /// Gets timestamp when this backup finished. /// [JsonProperty(PropertyName = "properties.finishedTimeStamp")] - public DateTime? FinishedTimeStamp { get; set; } + public System.DateTime? FinishedTimeStamp { get; protected set; } /// - /// Unique correlation identifier. Please use this along with the + /// Gets unique correlation identifier. Please use this along with the /// timestamp while communicating with Azure support. /// [JsonProperty(PropertyName = "properties.correlationId")] - public string CorrelationId { get; set; } + public string CorrelationId { get; protected set; } /// - /// Size of the original web app which has been backed up + /// Gets size of the original web app which has been backed up. /// [JsonProperty(PropertyName = "properties.websiteSizeInBytes")] - public long? WebsiteSizeInBytes { get; set; } + public long? WebsiteSizeInBytes { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); + if (Databases != null) + { + foreach (var element in Databases) + { + if (element != null) + { + element.Validate(); + } + } + } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItemStatus.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItemStatus.cs index a4b85edf72d3..c7697c452737 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItemStatus.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupItemStatus.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for BackupItemStatus. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum BackupItemStatus { [EnumMember(Value = "InProgress")] @@ -40,3 +44,4 @@ public enum BackupItemStatus Deleted } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRequest.cs index e62e79715ee8..1f9b06d1109b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRequest.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Description of a backup which will be performed + /// Description of a backup which will be performed. /// [JsonTransformation] public partial class BackupRequest : Resource @@ -30,8 +32,24 @@ public BackupRequest() { } /// /// Initializes a new instance of the BackupRequest class. /// - public BackupRequest(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string backupRequestName = default(string), bool? enabled = default(bool?), string storageAccountUrl = default(string), BackupSchedule backupSchedule = default(BackupSchedule), IList databases = default(IList), BackupRestoreOperationType? backupRequestType = default(BackupRestoreOperationType?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name of the backup. + /// True if the backup schedule is enabled (must + /// be included in that case), false if the backup schedule should be + /// disabled. + /// SAS URL to the container. + /// Schedule for the backup if it is + /// executed periodically. + /// Databases included in the backup. + /// Type of the backup. Possible values + /// include: 'Default', 'Clone', 'Relocation' + public BackupRequest(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string backupRequestName = default(string), bool? enabled = default(bool?), string storageAccountUrl = default(string), BackupSchedule backupSchedule = default(BackupSchedule), IList databases = default(IList), BackupRestoreOperationType? backupRequestType = default(BackupRestoreOperationType?)) + : base(location, id, name, kind, type, tags) { BackupRequestName = backupRequestName; Enabled = enabled; @@ -42,53 +60,69 @@ public BackupRequest() { } } /// - /// Name of the backup + /// Gets or sets name of the backup. /// [JsonProperty(PropertyName = "properties.name")] public string BackupRequestName { get; set; } /// - /// True if the backup schedule is enabled (must be included in that - /// case), false if the backup schedule should be disabled + /// Gets or sets true if the backup schedule is enabled (must be + /// included in that case), false if the backup schedule should be + /// disabled. /// [JsonProperty(PropertyName = "properties.enabled")] public bool? Enabled { get; set; } /// - /// SAS URL to the container + /// Gets or sets SAS URL to the container. /// [JsonProperty(PropertyName = "properties.storageAccountUrl")] public string StorageAccountUrl { get; set; } /// - /// Schedule for the backup if it is executed periodically + /// Gets or sets schedule for the backup if it is executed + /// periodically. /// [JsonProperty(PropertyName = "properties.backupSchedule")] public BackupSchedule BackupSchedule { get; set; } /// - /// Databases included in the backup + /// Gets or sets databases included in the backup. /// [JsonProperty(PropertyName = "properties.databases")] public IList Databases { get; set; } /// - /// Type of the backup. Possible values include: 'Default', 'Clone', - /// 'Relocation' + /// Gets or sets type of the backup. Possible values include: + /// 'Default', 'Clone', 'Relocation' /// [JsonProperty(PropertyName = "properties.type")] public BackupRestoreOperationType? BackupRequestType { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.BackupSchedule != null) + if (BackupSchedule != null) { - this.BackupSchedule.Validate(); + BackupSchedule.Validate(); + } + if (Databases != null) + { + foreach (var element in Databases) + { + if (element != null) + { + element.Validate(); + } + } } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRestoreOperationType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRestoreOperationType.cs index e22be94feade..182d1094837a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRestoreOperationType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupRestoreOperationType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for BackupRestoreOperationType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum BackupRestoreOperationType { [EnumMember(Value = "Default")] @@ -26,3 +30,4 @@ public enum BackupRestoreOperationType Relocation } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupSchedule.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupSchedule.cs index de19f8a6160d..7b7d51434587 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupSchedule.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BackupSchedule.cs @@ -1,20 +1,18 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// /// Description of a backup schedule. Describes how often should be the @@ -30,7 +28,23 @@ public BackupSchedule() { } /// /// Initializes a new instance of the BackupSchedule class. /// - public BackupSchedule(FrequencyUnit frequencyUnit, int? frequencyInterval = default(int?), bool? keepAtLeastOneBackup = default(bool?), int? retentionPeriodInDays = default(int?), DateTime? startTime = default(DateTime?), DateTime? lastExecutionTime = default(DateTime?)) + /// How often should be the backup + /// executed (e.g. for weekly backup, this should be set to 7 and + /// FrequencyUnit should be set to Day) + /// How often should be the backup executed + /// (e.g. for weekly backup, this should be set to Day and + /// FrequencyInterval should be set to 7). Possible values include: + /// 'Day', 'Hour' + /// True if the retention policy + /// should always keep at least one backup in the storage account, + /// regardless how old it is; false otherwise. + /// After how many days backups + /// should be deleted. + /// When the schedule should start + /// working. + /// Last time when this schedule was + /// triggered. + public BackupSchedule(int frequencyInterval, FrequencyUnit frequencyUnit, bool keepAtLeastOneBackup, int retentionPeriodInDays, System.DateTime? startTime = default(System.DateTime?), System.DateTime? lastExecutionTime = default(System.DateTime?)) { FrequencyInterval = frequencyInterval; FrequencyUnit = frequencyUnit; @@ -41,51 +55,56 @@ public BackupSchedule() { } } /// - /// How often should be the backup executed (e.g. for weekly backup, - /// this should be set to 7 and FrequencyUnit should be set to Day) + /// Gets or sets how often should be the backup executed (e.g. for + /// weekly backup, this should be set to 7 and FrequencyUnit should be + /// set to Day) /// [JsonProperty(PropertyName = "frequencyInterval")] - public int? FrequencyInterval { get; set; } + public int FrequencyInterval { get; set; } /// - /// How often should be the backup executed (e.g. for weekly backup, - /// this should be set to Day and FrequencyInterval should be set to - /// 7). Possible values include: 'Day', 'Hour' + /// Gets or sets how often should be the backup executed (e.g. for + /// weekly backup, this should be set to Day and FrequencyInterval + /// should be set to 7). Possible values include: 'Day', 'Hour' /// [JsonProperty(PropertyName = "frequencyUnit")] public FrequencyUnit FrequencyUnit { get; set; } /// - /// True if the retention policy should always keep at least one - /// backup in the storage account, regardless how old it is; false - /// otherwise. + /// Gets or sets true if the retention policy should always keep at + /// least one backup in the storage account, regardless how old it is; + /// false otherwise. /// [JsonProperty(PropertyName = "keepAtLeastOneBackup")] - public bool? KeepAtLeastOneBackup { get; set; } + public bool KeepAtLeastOneBackup { get; set; } /// - /// After how many days backups should be deleted + /// Gets or sets after how many days backups should be deleted. /// [JsonProperty(PropertyName = "retentionPeriodInDays")] - public int? RetentionPeriodInDays { get; set; } + public int RetentionPeriodInDays { get; set; } /// - /// When the schedule should start working + /// Gets or sets when the schedule should start working. /// [JsonProperty(PropertyName = "startTime")] - public DateTime? StartTime { get; set; } + public System.DateTime? StartTime { get; set; } /// - /// The last time when this schedule was triggered + /// Gets last time when this schedule was triggered. /// [JsonProperty(PropertyName = "lastExecutionTime")] - public DateTime? LastExecutionTime { get; set; } + public System.DateTime? LastExecutionTime { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public virtual void Validate() { } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BuiltInAuthenticationProvider.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BuiltInAuthenticationProvider.cs index 19bad0c3d069..7430ed2bfd1a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BuiltInAuthenticationProvider.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/BuiltInAuthenticationProvider.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for BuiltInAuthenticationProvider. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum BuiltInAuthenticationProvider { [EnumMember(Value = "AzureActiveDirectory")] @@ -30,3 +34,4 @@ public enum BuiltInAuthenticationProvider Twitter } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Capability.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Capability.cs index 43524471240e..313bb2248d8b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Capability.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Capability.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Description of a Sku Capability + /// Describes the capabilities/features allowed for a specific SKU. /// public partial class Capability { @@ -29,6 +27,9 @@ public Capability() { } /// /// Initializes a new instance of the Capability class. /// + /// Name of the SKU capability. + /// Value of the SKU capability. + /// Reason of the SKU capability. public Capability(string name = default(string), string value = default(string), string reason = default(string)) { Name = name; @@ -37,22 +38,23 @@ public Capability() { } } /// - /// Name of the sku capability + /// Gets or sets name of the SKU capability. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Value of the sku capability + /// Gets or sets value of the SKU capability. /// [JsonProperty(PropertyName = "value")] public string Value { get; set; } /// - /// Reason of the sku capability + /// Gets or sets reason of the SKU capability. /// [JsonProperty(PropertyName = "reason")] public string Reason { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Certificate.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Certificate.cs index 28b5ab76b0b5..edf14befb370 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Certificate.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Certificate.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// App certificate + /// SSL certificate for an app. /// [JsonTransformation] public partial class Certificate : Resource @@ -30,8 +32,44 @@ public Certificate() { } /// /// Initializes a new instance of the Certificate class. /// - public Certificate(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string friendlyName = default(string), string subjectName = default(string), IList hostNames = default(IList), string pfxBlob = default(string), string siteName = default(string), string selfLink = default(string), string issuer = default(string), DateTime? issueDate = default(DateTime?), DateTime? expirationDate = default(DateTime?), string password = default(string), string thumbprint = default(string), bool? valid = default(bool?), string cerBlob = default(string), string publicKeyHash = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Friendly name of the + /// certificate. + /// Subject name of the certificate. + /// Host names the certificate applies + /// to. + /// Pfx blob. + /// App name. + /// Self link. + /// Certificate issuer. + /// Certificate issue Date. + /// Certificate expriration date. + /// Certificate password. + /// Certificate thumbprint. + /// Is the certificate valid?. + /// Raw bytes of .cer file + /// Public key hash. + /// Specification for the App + /// Service Environment to use for the certificate. + /// Key Vault Csm resource Id. + /// Key Vault secret name. + /// Status of the Key Vault secret. + /// Possible values include: 'Initialized', + /// 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed', + /// 'OperationNotPermittedOnKeyVault', + /// 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + /// 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + /// 'Unknown' + /// Resource ID of the associated App + /// Service plan, formatted as: + /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + public Certificate(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string friendlyName = default(string), string subjectName = default(string), IList hostNames = default(IList), byte[] pfxBlob = default(byte[]), string siteName = default(string), string selfLink = default(string), string issuer = default(string), System.DateTime? issueDate = default(System.DateTime?), System.DateTime? expirationDate = default(System.DateTime?), string password = default(string), string thumbprint = default(string), bool? valid = default(bool?), string cerBlob = default(string), string publicKeyHash = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), string keyVaultId = default(string), string keyVaultSecretName = default(string), KeyVaultSecretStatus? keyVaultSecretStatus = default(KeyVaultSecretStatus?), string serverFarmId = default(string)) + : base(location, id, name, kind, type, tags) { FriendlyName = friendlyName; SubjectName = subjectName; @@ -48,105 +86,144 @@ public Certificate() { } CerBlob = cerBlob; PublicKeyHash = publicKeyHash; HostingEnvironmentProfile = hostingEnvironmentProfile; + KeyVaultId = keyVaultId; + KeyVaultSecretName = keyVaultSecretName; + KeyVaultSecretStatus = keyVaultSecretStatus; + ServerFarmId = serverFarmId; } /// - /// Friendly name of the certificate + /// Gets friendly name of the certificate. /// [JsonProperty(PropertyName = "properties.friendlyName")] - public string FriendlyName { get; set; } + public string FriendlyName { get; protected set; } /// - /// Subject name of the certificate + /// Gets subject name of the certificate. /// [JsonProperty(PropertyName = "properties.subjectName")] - public string SubjectName { get; set; } + public string SubjectName { get; protected set; } /// - /// Host names the certificate applies to + /// Gets or sets host names the certificate applies to. /// [JsonProperty(PropertyName = "properties.hostNames")] public IList HostNames { get; set; } /// - /// Pfx blob + /// Gets or sets pfx blob. /// [JsonProperty(PropertyName = "properties.pfxBlob")] - public string PfxBlob { get; set; } + public byte[] PfxBlob { get; set; } /// - /// App name + /// Gets app name. /// [JsonProperty(PropertyName = "properties.siteName")] - public string SiteName { get; set; } + public string SiteName { get; protected set; } /// - /// Self link + /// Gets self link. /// [JsonProperty(PropertyName = "properties.selfLink")] - public string SelfLink { get; set; } + public string SelfLink { get; protected set; } /// - /// Certificate issuer + /// Gets certificate issuer. /// [JsonProperty(PropertyName = "properties.issuer")] - public string Issuer { get; set; } + public string Issuer { get; protected set; } /// - /// Certificate issue Date + /// Gets certificate issue Date. /// [JsonProperty(PropertyName = "properties.issueDate")] - public DateTime? IssueDate { get; set; } + public System.DateTime? IssueDate { get; protected set; } /// - /// Certificate expriration date + /// Gets certificate expriration date. /// [JsonProperty(PropertyName = "properties.expirationDate")] - public DateTime? ExpirationDate { get; set; } + public System.DateTime? ExpirationDate { get; protected set; } /// - /// Certificate password + /// Gets or sets certificate password. /// [JsonProperty(PropertyName = "properties.password")] public string Password { get; set; } /// - /// Certificate thumbprint + /// Gets certificate thumbprint. /// [JsonProperty(PropertyName = "properties.thumbprint")] - public string Thumbprint { get; set; } + public string Thumbprint { get; protected set; } /// - /// Is the certificate valid? + /// Gets is the certificate valid?. /// [JsonProperty(PropertyName = "properties.valid")] - public bool? Valid { get; set; } + public bool? Valid { get; protected set; } /// - /// Raw bytes of .cer file + /// Gets or sets raw bytes of .cer file /// [JsonProperty(PropertyName = "properties.cerBlob")] public string CerBlob { get; set; } /// - /// Public key hash + /// Gets public key hash. /// [JsonProperty(PropertyName = "properties.publicKeyHash")] - public string PublicKeyHash { get; set; } + public string PublicKeyHash { get; protected set; } /// - /// Specification for the hosting environment (App Service - /// Environment) to use for the certificate + /// Gets specification for the App Service Environment to use for the + /// certificate. /// [JsonProperty(PropertyName = "properties.hostingEnvironmentProfile")] - public HostingEnvironmentProfile HostingEnvironmentProfile { get; set; } + public HostingEnvironmentProfile HostingEnvironmentProfile { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Gets or sets key Vault Csm resource Id. /// + [JsonProperty(PropertyName = "properties.keyVaultId")] + public string KeyVaultId { get; set; } + + /// + /// Gets or sets key Vault secret name. + /// + [JsonProperty(PropertyName = "properties.keyVaultSecretName")] + public string KeyVaultSecretName { get; set; } + + /// + /// Gets status of the Key Vault secret. Possible values include: + /// 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + /// 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + /// 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + /// 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + /// 'Unknown' + /// + [JsonProperty(PropertyName = "properties.keyVaultSecretStatus")] + public KeyVaultSecretStatus? KeyVaultSecretStatus { get; protected set; } + + /// + /// Gets or sets resource ID of the associated App Service plan, + /// formatted as: + /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + /// + [JsonProperty(PropertyName = "properties.serverFarmId")] + public string ServerFarmId { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateDetails.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateDetails.cs index 0622cdc8c6a3..119f8a5849f4 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateDetails.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateDetails.cs @@ -1,26 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Certificate Details + /// SSL certificate details. /// - [JsonTransformation] - public partial class CertificateDetails : Resource + public partial class CertificateDetails { /// /// Initializes a new instance of the CertificateDetails class. @@ -30,8 +27,16 @@ public CertificateDetails() { } /// /// Initializes a new instance of the CertificateDetails class. /// - public CertificateDetails(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? version = default(int?), string serialNumber = default(string), string thumbprint = default(string), string subject = default(string), DateTime? notBefore = default(DateTime?), DateTime? notAfter = default(DateTime?), string signatureAlgorithm = default(string), string issuer = default(string), string rawData = default(string)) - : base(name, location, id, kind, type, tags) + /// Version. + /// Serial Number. + /// Thumbprint. + /// Subject. + /// Valid from. + /// Valid to. + /// Signature algorithm. + /// Issuer. + /// Raw certificate data. + public CertificateDetails(int? version = default(int?), string serialNumber = default(string), string thumbprint = default(string), string subject = default(string), System.DateTime? notBefore = default(System.DateTime?), System.DateTime? notAfter = default(System.DateTime?), string signatureAlgorithm = default(string), string issuer = default(string), string rawData = default(string)) { Version = version; SerialNumber = serialNumber; @@ -45,65 +50,59 @@ public CertificateDetails() { } } /// - /// Version + /// Gets version. /// - [JsonProperty(PropertyName = "properties.version")] - public int? Version { get; set; } + [JsonProperty(PropertyName = "version")] + public int? Version { get; protected set; } /// - /// Serial Number + /// Gets serial Number. /// - [JsonProperty(PropertyName = "properties.serialNumber")] - public string SerialNumber { get; set; } + [JsonProperty(PropertyName = "serialNumber")] + public string SerialNumber { get; protected set; } /// - /// Thumbprint + /// Gets thumbprint. /// - [JsonProperty(PropertyName = "properties.thumbprint")] - public string Thumbprint { get; set; } + [JsonProperty(PropertyName = "thumbprint")] + public string Thumbprint { get; protected set; } /// - /// Subject + /// Gets subject. /// - [JsonProperty(PropertyName = "properties.subject")] - public string Subject { get; set; } + [JsonProperty(PropertyName = "subject")] + public string Subject { get; protected set; } /// - /// Valid from + /// Gets valid from. /// - [JsonProperty(PropertyName = "properties.notBefore")] - public DateTime? NotBefore { get; set; } + [JsonProperty(PropertyName = "notBefore")] + public System.DateTime? NotBefore { get; protected set; } /// - /// Valid to + /// Gets valid to. /// - [JsonProperty(PropertyName = "properties.notAfter")] - public DateTime? NotAfter { get; set; } + [JsonProperty(PropertyName = "notAfter")] + public System.DateTime? NotAfter { get; protected set; } /// - /// Signature Algorithm + /// Gets signature algorithm. /// - [JsonProperty(PropertyName = "properties.signatureAlgorithm")] - public string SignatureAlgorithm { get; set; } + [JsonProperty(PropertyName = "signatureAlgorithm")] + public string SignatureAlgorithm { get; protected set; } /// - /// Issuer + /// Gets issuer. /// - [JsonProperty(PropertyName = "properties.issuer")] - public string Issuer { get; set; } + [JsonProperty(PropertyName = "issuer")] + public string Issuer { get; protected set; } /// - /// Raw certificate data + /// Gets raw certificate data. /// - [JsonProperty(PropertyName = "properties.rawData")] - public string RawData { get; set; } + [JsonProperty(PropertyName = "rawData")] + public string RawData { get; protected set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public override void Validate() - { - base.Validate(); - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateEmail.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateEmail.cs index 6af4a28bf86e..d69431dccb46 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateEmail.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateEmail.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Certificate Email + /// SSL certificate email. /// [JsonTransformation] public partial class CertificateEmail : Resource @@ -30,31 +32,43 @@ public CertificateEmail() { } /// /// Initializes a new instance of the CertificateEmail class. /// - public CertificateEmail(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string emailId = default(string), DateTime? timeStamp = default(DateTime?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Email id. + /// Time stamp. + public CertificateEmail(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string emailId = default(string), System.DateTime? timeStamp = default(System.DateTime?)) + : base(location, id, name, kind, type, tags) { EmailId = emailId; TimeStamp = timeStamp; } /// - /// Email id + /// Gets or sets email id. /// [JsonProperty(PropertyName = "properties.emailId")] public string EmailId { get; set; } /// - /// Time stamp + /// Gets or sets time stamp. /// [JsonProperty(PropertyName = "properties.timeStamp")] - public DateTime? TimeStamp { get; set; } + public System.DateTime? TimeStamp { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderAction.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderAction.cs index f9c72eecfac1..6c4d46b7c436 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderAction.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderAction.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents a certificate action + /// Certificate order action. /// [JsonTransformation] public partial class CertificateOrderAction : Resource @@ -30,35 +32,56 @@ public CertificateOrderAction() { } /// /// Initializes a new instance of the CertificateOrderAction class. /// - public CertificateOrderAction(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), CertificateOrderActionType? certificateOrderActionType = default(CertificateOrderActionType?), DateTime? createdAt = default(DateTime?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Action type. Possible + /// values include: 'CertificateIssued', 'CertificateOrderCanceled', + /// 'CertificateOrderCreated', 'CertificateRevoked', + /// 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', + /// 'OrgValidationComplete', 'SanDrop', 'FraudCleared', + /// 'CertificateExpired', 'CertificateExpirationWarning', + /// 'FraudDocumentationRequired', 'Unknown' + /// Time at which the certificate action was + /// performed. + public CertificateOrderAction(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), CertificateOrderActionType? certificateOrderActionType = default(CertificateOrderActionType?), System.DateTime? createdAt = default(System.DateTime?)) + : base(location, id, name, kind, type, tags) { CertificateOrderActionType = certificateOrderActionType; CreatedAt = createdAt; } /// - /// Type. Possible values include: 'CertificateIssued', - /// 'CertificateOrderCanceled', 'CertificateOrderCreated', - /// 'CertificateRevoked', 'DomainValidationComplete', - /// 'FraudDetected', 'OrgNameChange', 'OrgValidationComplete', - /// 'SanDrop' + /// Gets or sets action type. Possible values include: + /// 'CertificateIssued', 'CertificateOrderCanceled', + /// 'CertificateOrderCreated', 'CertificateRevoked', + /// 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', + /// 'OrgValidationComplete', 'SanDrop', 'FraudCleared', + /// 'CertificateExpired', 'CertificateExpirationWarning', + /// 'FraudDocumentationRequired', 'Unknown' /// [JsonProperty(PropertyName = "properties.type")] public CertificateOrderActionType? CertificateOrderActionType { get; set; } /// - /// Time at which the certificate action was performed + /// Gets or sets time at which the certificate action was performed. /// [JsonProperty(PropertyName = "properties.createdAt")] - public DateTime? CreatedAt { get; set; } + public System.DateTime? CreatedAt { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderActionType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderActionType.cs index a51ff01f687d..3e150b6b8887 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderActionType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderActionType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for CertificateOrderActionType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum CertificateOrderActionType { [EnumMember(Value = "CertificateIssued")] @@ -35,6 +39,17 @@ public enum CertificateOrderActionType [EnumMember(Value = "OrgValidationComplete")] OrgValidationComplete, [EnumMember(Value = "SanDrop")] - SanDrop + SanDrop, + [EnumMember(Value = "FraudCleared")] + FraudCleared, + [EnumMember(Value = "CertificateExpired")] + CertificateExpired, + [EnumMember(Value = "CertificateExpirationWarning")] + CertificateExpirationWarning, + [EnumMember(Value = "FraudDocumentationRequired")] + FraudDocumentationRequired, + [EnumMember(Value = "Unknown")] + Unknown } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderStatus.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderStatus.cs index d171358c2027..4a5b7e580f0a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderStatus.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateOrderStatus.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for CertificateOrderStatus. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum CertificateOrderStatus { [EnumMember(Value = "Pendingissuance")] @@ -40,3 +44,4 @@ public enum CertificateOrderStatus NotSubmitted } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateProductType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateProductType.cs index 5fc25d48adfa..e416b2b0fd2f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateProductType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CertificateProductType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for CertificateProductType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum CertificateProductType { [EnumMember(Value = "StandardDomainValidatedSsl")] @@ -24,3 +28,4 @@ public enum CertificateProductType StandardDomainValidatedWildCardSsl } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Channels.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Channels.cs index a0e78d1afc04..ed3f5b2cd9ae 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Channels.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Channels.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for Channels. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum Channels { [EnumMember(Value = "Notification")] @@ -24,7 +28,10 @@ public enum Channels Api, [EnumMember(Value = "Email")] Email, + [EnumMember(Value = "Webhook")] + Webhook, [EnumMember(Value = "All")] All } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CheckNameResourceTypes.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CheckNameResourceTypes.cs index 6fd79b294c5a..d03c8ff12931 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CheckNameResourceTypes.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CheckNameResourceTypes.cs @@ -1,16 +1,16 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using Newtonsoft.Json; - using Newtonsoft.Json.Converters; - using System.Runtime.Serialization; + using Azure; + using Management; + using WebSites; /// /// Defines values for CheckNameResourceTypes. @@ -22,3 +22,4 @@ public static class CheckNameResourceTypes public const string HostingEnvironment = "HostingEnvironment"; } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ClassicMobileService.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ClassicMobileService.cs deleted file mode 100644 index 25b2cde2eb96..000000000000 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ClassicMobileService.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. - -namespace Microsoft.Azure.Management.WebSites.Models -{ - using System; - using System.Linq; - using System.Collections.Generic; - using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; - - /// - /// A mobile service - /// - [JsonTransformation] - public partial class ClassicMobileService : Resource - { - /// - /// Initializes a new instance of the ClassicMobileService class. - /// - public ClassicMobileService() { } - - /// - /// Initializes a new instance of the ClassicMobileService class. - /// - public ClassicMobileService(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string classicMobileServiceName = default(string)) - : base(name, location, id, kind, type, tags) - { - ClassicMobileServiceName = classicMobileServiceName; - } - - /// - /// Name of the mobile service - /// - [JsonProperty(PropertyName = "properties.name")] - public string ClassicMobileServiceName { get; set; } - - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public override void Validate() - { - base.Validate(); - } - } -} diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloneAbilityResult.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloneAbilityResult.cs index dfd785ae7b58..e85b74bbf30a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloneAbilityResult.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloneAbilityResult.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for CloneAbilityResult. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum CloneAbilityResult { [EnumMember(Value = "Cloneable")] @@ -26,3 +30,4 @@ public enum CloneAbilityResult NotCloneable } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloningInfo.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloningInfo.cs index ebbaa4de024c..19af2d386ccf 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloningInfo.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CloningInfo.cs @@ -1,23 +1,24 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents information needed for cloning operation + /// Information needed for cloning operation. /// public partial class CloningInfo { @@ -29,6 +30,38 @@ public CloningInfo() { } /// /// Initializes a new instance of the CloningInfo class. /// + /// ARM resource ID of the source app. App + /// resource ID is of the form + /// /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + /// for production slots and + /// /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + /// for other slots. + /// Correlation ID of cloning operation. + /// This ID ties multiple cloning operations + /// together to use the same snapshot. + /// <code>true</code> to overwrite + /// destination app; otherwise, <code>false</code>. + /// <code>true</code> to + /// clone custom hostnames from source app; otherwise, + /// <code>false</code>. + /// <code>true</code> to + /// clone source control from source app; otherwise, + /// <code>false</code>. + /// App Service Environment. + /// Application setting overrides + /// for cloned app. If specified, these settings override the settings + /// cloned + /// from source app. Otherwise, application settings from source app + /// are retained. + /// <code>true</code> + /// to configure load balancing for source and destination app. + /// ARM resource ID of the + /// Traffic Manager profile to use, if it exists. Traffic Manager + /// resource ID is of the form + /// /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + /// Name of Traffic Manager + /// profile to create. This is only needed if Traffic Manager profile + /// does not already exist. public CloningInfo(string sourceWebAppId, string correlationId = default(string), bool? overwrite = default(bool?), bool? cloneCustomHostNames = default(bool?), bool? cloneSourceControl = default(bool?), string hostingEnvironment = default(string), IDictionary appSettingsOverrides = default(IDictionary), bool? configureLoadBalancing = default(bool?), string trafficManagerProfileId = default(string), string trafficManagerProfileName = default(string)) { CorrelationId = correlationId; @@ -44,81 +77,91 @@ public CloningInfo() { } } /// - /// Correlation Id of cloning operation. This id ties multiple cloning - /// operations - /// together to use the same snapshot + /// Gets or sets correlation ID of cloning operation. This ID ties + /// multiple cloning operations + /// together to use the same snapshot. /// [JsonProperty(PropertyName = "correlationId")] public string CorrelationId { get; set; } /// - /// Overwrite destination web app + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// overwrite destination app; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "overwrite")] public bool? Overwrite { get; set; } /// - /// If true, clone custom hostnames from source web app + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to clone + /// custom hostnames from source app; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "cloneCustomHostNames")] public bool? CloneCustomHostNames { get; set; } /// - /// Clone source control from source web app + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to clone + /// source control from source app; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "cloneSourceControl")] public bool? CloneSourceControl { get; set; } /// - /// ARM resource id of the source web app. Web app resource id is of - /// the form + /// Gets or sets ARM resource ID of the source app. App resource ID is + /// of the form /// /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} /// for production slots and /// /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} - /// for other slots + /// for other slots. /// [JsonProperty(PropertyName = "sourceWebAppId")] public string SourceWebAppId { get; set; } /// - /// Hosting environment + /// Gets or sets app Service Environment. /// [JsonProperty(PropertyName = "hostingEnvironment")] public string HostingEnvironment { get; set; } /// - /// Application settings overrides for cloned web app. If specified - /// these settings will override the settings cloned - /// from source web app. If not specified, application - /// settings from source web app are retained. + /// Gets or sets application setting overrides for cloned app. If + /// specified, these settings override the settings cloned + /// from source app. Otherwise, application settings from source app + /// are retained. /// [JsonProperty(PropertyName = "appSettingsOverrides")] public IDictionary AppSettingsOverrides { get; set; } /// - /// If specified configure load balancing for source and clone site + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// configure load balancing for source and destination app. /// [JsonProperty(PropertyName = "configureLoadBalancing")] public bool? ConfigureLoadBalancing { get; set; } /// - /// ARM resource id of the traffic manager profile to use if it - /// exists. Traffic manager resource id is of the form - /// /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName} + /// Gets or sets ARM resource ID of the Traffic Manager profile to use, + /// if it exists. Traffic Manager resource ID is of the form + /// /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. /// [JsonProperty(PropertyName = "trafficManagerProfileId")] public string TrafficManagerProfileId { get; set; } /// - /// Name of traffic manager profile to create. This is only needed if - /// traffic manager profile does not already exist + /// Gets or sets name of Traffic Manager profile to create. This is + /// only needed if Traffic Manager profile does not already exist. /// [JsonProperty(PropertyName = "trafficManagerProfileName")] public string TrafficManagerProfileName { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public virtual void Validate() { if (SourceWebAppId == null) @@ -128,3 +171,4 @@ public virtual void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ComputeModeOptions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ComputeModeOptions.cs index f0bf13ce4a5d..99f61cfa9748 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ComputeModeOptions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ComputeModeOptions.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for ComputeModeOptions. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum ComputeModeOptions { [EnumMember(Value = "Shared")] @@ -26,3 +30,4 @@ public enum ComputeModeOptions Dynamic } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnStringInfo.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnStringInfo.cs new file mode 100644 index 000000000000..a34f247f456e --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnStringInfo.cs @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Database connection string information. + /// + public partial class ConnStringInfo + { + /// + /// Initializes a new instance of the ConnStringInfo class. + /// + public ConnStringInfo() { } + + /// + /// Initializes a new instance of the ConnStringInfo class. + /// + /// Name of connection string. + /// Connection string value. + /// Type of database. Possible values include: + /// 'MySql', 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', + /// 'ServiceBus', 'EventHub', 'ApiHub', 'DocDb', 'RedisCache' + public ConnStringInfo(string name = default(string), string connectionString = default(string), ConnectionStringType? type = default(ConnectionStringType?)) + { + Name = name; + ConnectionString = connectionString; + Type = type; + } + + /// + /// Gets or sets name of connection string. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets connection string value. + /// + [JsonProperty(PropertyName = "connectionString")] + public string ConnectionString { get; set; } + + /// + /// Gets or sets type of database. Possible values include: 'MySql', + /// 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + /// 'EventHub', 'ApiHub', 'DocDb', 'RedisCache' + /// + [JsonProperty(PropertyName = "type")] + public ConnectionStringType? Type { get; set; } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnStringValueTypePair.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnStringValueTypePair.cs index 2ec52ee98993..55cd2d3508dd 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnStringValueTypePair.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnStringValueTypePair.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Database connection string value to type pair + /// Database connection string value to type pair. /// public partial class ConnStringValueTypePair { @@ -29,31 +28,43 @@ public ConnStringValueTypePair() { } /// /// Initializes a new instance of the ConnStringValueTypePair class. /// - public ConnStringValueTypePair(ConnectionStringType type, string value = default(string)) + /// Value of pair. + /// Type of database. Possible values include: + /// 'MySql', 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', + /// 'ServiceBus', 'EventHub', 'ApiHub', 'DocDb', 'RedisCache' + public ConnStringValueTypePair(string value, ConnectionStringType type) { Value = value; Type = type; } /// - /// Value of pair + /// Gets or sets value of pair. /// [JsonProperty(PropertyName = "value")] public string Value { get; set; } /// - /// Type of database. Possible values include: 'MySql', 'SQLServer', - /// 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + /// Gets or sets type of database. Possible values include: 'MySql', + /// 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', /// 'EventHub', 'ApiHub', 'DocDb', 'RedisCache' /// [JsonProperty(PropertyName = "type")] public ConnectionStringType Type { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public virtual void Validate() { + if (Value == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Value"); + } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringDictionary.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringDictionary.cs index 69fb268017af..a3d4a491b959 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringDictionary.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringDictionary.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// String dictionary resource + /// String dictionary resource. /// public partial class ConnectionStringDictionary : Resource { @@ -29,27 +29,37 @@ public ConnectionStringDictionary() { } /// /// Initializes a new instance of the ConnectionStringDictionary class. /// - public ConnectionStringDictionary(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), IDictionary properties = default(IDictionary)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Connection strings. + public ConnectionStringDictionary(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), IDictionary properties = default(IDictionary)) + : base(location, id, name, kind, type, tags) { Properties = properties; } /// - /// Connection strings + /// Gets or sets connection strings. /// [JsonProperty(PropertyName = "properties")] public IDictionary Properties { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.Properties != null) + if (Properties != null) { - foreach (var valueElement in this.Properties.Values) + foreach (var valueElement in Properties.Values) { if (valueElement != null) { @@ -60,3 +70,4 @@ public override void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringType.cs index ddf4bd3ebcdf..af0011bbf5ce 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ConnectionStringType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for ConnectionStringType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum ConnectionStringType { [EnumMember(Value = "MySql")] @@ -40,3 +44,4 @@ public enum ConnectionStringType RedisCache } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Contact.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Contact.cs index 8f5c7d8a5cf3..71eb359ab4ce 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Contact.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Contact.cs @@ -1,26 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Contact information for domain registration. If 'Domain Privacy' - /// option is not selected then the contact information will be be made - /// publicly available through the Whois directories as per ICANN - /// requirements. + /// Contact information for domain registration. If 'Domain Privacy' option + /// is not selected then the contact information is made publicly available + /// through the Whois + /// directories as per ICANN requirements. /// public partial class Contact { @@ -32,7 +31,16 @@ public Contact() { } /// /// Initializes a new instance of the Contact class. /// - public Contact(Address addressMailing = default(Address), string email = default(string), string fax = default(string), string jobTitle = default(string), string nameFirst = default(string), string nameLast = default(string), string nameMiddle = default(string), string organization = default(string), string phone = default(string)) + /// Email address. + /// First name. + /// Last name. + /// Phone number. + /// Mailing address. + /// Fax number. + /// Job title. + /// Middle name. + /// Organization. + public Contact(string email, string nameFirst, string nameLast, string phone, Address addressMailing = default(Address), string fax = default(string), string jobTitle = default(string), string nameMiddle = default(string), string organization = default(string)) { AddressMailing = addressMailing; Email = email; @@ -46,58 +54,88 @@ public Contact() { } } /// - /// Mailing address + /// Gets or sets mailing address. /// [JsonProperty(PropertyName = "addressMailing")] public Address AddressMailing { get; set; } /// - /// Email address + /// Gets or sets email address. /// [JsonProperty(PropertyName = "email")] public string Email { get; set; } /// - /// Fax number + /// Gets or sets fax number. /// [JsonProperty(PropertyName = "fax")] public string Fax { get; set; } /// - /// Job title + /// Gets or sets job title. /// [JsonProperty(PropertyName = "jobTitle")] public string JobTitle { get; set; } /// - /// First name + /// Gets or sets first name. /// [JsonProperty(PropertyName = "nameFirst")] public string NameFirst { get; set; } /// - /// Last name + /// Gets or sets last name. /// [JsonProperty(PropertyName = "nameLast")] public string NameLast { get; set; } /// - /// Middle name + /// Gets or sets middle name. /// [JsonProperty(PropertyName = "nameMiddle")] public string NameMiddle { get; set; } /// - /// Organization + /// Gets or sets organization. /// [JsonProperty(PropertyName = "organization")] public string Organization { get; set; } /// - /// Phone number + /// Gets or sets phone number. /// [JsonProperty(PropertyName = "phone")] public string Phone { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Email == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Email"); + } + if (NameFirst == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "NameFirst"); + } + if (NameLast == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "NameLast"); + } + if (Phone == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Phone"); + } + if (AddressMailing != null) + { + AddressMailing.Validate(); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CorsSettings.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CorsSettings.cs index 6992b14352c0..b9f814210c10 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CorsSettings.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CorsSettings.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Cross-Origin Resource Sharing (CORS) settings for the web app. + /// Cross-Origin Resource Sharing (CORS) settings for the app. /// public partial class CorsSettings { @@ -29,6 +29,10 @@ public CorsSettings() { } /// /// Initializes a new instance of the CorsSettings class. /// + /// Gets or sets the list of origins that + /// should be allowed to make cross-origin + /// calls (for example: http://example.com:12345). Use "*" to allow + /// all. public CorsSettings(IList allowedOrigins = default(IList)) { AllowedOrigins = allowedOrigins; @@ -37,11 +41,12 @@ public CorsSettings() { } /// /// Gets or sets the list of origins that should be allowed to make /// cross-origin - /// calls (for example: http://example.com:12345). Use "*" - /// to allow all. + /// calls (for example: http://example.com:12345). Use "*" to allow + /// all. /// [JsonProperty(PropertyName = "allowedOrigins")] public IList AllowedOrigins { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmMoveResourceEnvelope.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmMoveResourceEnvelope.cs index e2f79633b60b..9e11481121da 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmMoveResourceEnvelope.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmMoveResourceEnvelope.cs @@ -1,24 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class containing a list of the resources that need to be moved and the - /// resource group they should be moved to + /// Object with a list of the resources that need to be moved and the + /// resource group they should be moved to. /// public partial class CsmMoveResourceEnvelope { @@ -46,5 +47,30 @@ public CsmMoveResourceEnvelope() { } [JsonProperty(PropertyName = "resources")] public IList Resources { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (TargetResourceGroup != null) + { + if (TargetResourceGroup.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "TargetResourceGroup", 90); + } + if (TargetResourceGroup.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "TargetResourceGroup", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(TargetResourceGroup, " ^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "TargetResourceGroup", " ^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmPublishingProfileOptions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmPublishingProfileOptions.cs index 8745c788d9af..9ca3ebc8e47f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmPublishingProfileOptions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmPublishingProfileOptions.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Publishing options for requested profile + /// Publishing options for requested profile. /// public partial class CsmPublishingProfileOptions { @@ -31,19 +29,25 @@ public CsmPublishingProfileOptions() { } /// Initializes a new instance of the CsmPublishingProfileOptions /// class. /// + /// Name of the format. Valid values are: + /// FileZilla3 + /// WebDeploy -- default + /// Ftp. Possible values include: 'FileZilla3', 'WebDeploy', + /// 'Ftp' public CsmPublishingProfileOptions(string format = default(string)) { Format = format; } /// - /// Name of the format. Valid values are: + /// Gets or sets name of the format. Valid values are: /// FileZilla3 /// WebDeploy -- default - /// Ftp + /// Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' /// [JsonProperty(PropertyName = "format")] public string Format { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSiteRecoveryEntity.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSiteRecoveryEntity.cs index 3bc45f0e8ad8..e2735ad54aa5 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSiteRecoveryEntity.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSiteRecoveryEntity.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Class containting details about site recovery operation. + /// Details about app recovery operation. /// public partial class CsmSiteRecoveryEntity { @@ -29,41 +27,41 @@ public CsmSiteRecoveryEntity() { } /// /// Initializes a new instance of the CsmSiteRecoveryEntity class. /// - public CsmSiteRecoveryEntity(DateTime? snapshotTime = default(DateTime?), bool? recoverConfig = default(bool?), string siteName = default(string), string slotName = default(string)) + /// Point in time in which the app recovery + /// should be attempted. + /// [Optional] Destination app name into which + /// app should be recovered. This is case when new app should be + /// created instead. + /// [Optional] Destination app slot name into + /// which app should be recovered. + public CsmSiteRecoveryEntity(System.DateTime? snapshotTime = default(System.DateTime?), string siteName = default(string), string slotName = default(string)) { SnapshotTime = snapshotTime; - RecoverConfig = recoverConfig; SiteName = siteName; SlotName = slotName; } /// - /// Point in time in which the site recover should be attempted. + /// Gets or sets point in time in which the app recovery should be + /// attempted. /// [JsonProperty(PropertyName = "snapshotTime")] - public DateTime? SnapshotTime { get; set; } - - /// - /// If true, then the website's configuration will be reverted to its - /// state at SnapshotTime - /// - [JsonProperty(PropertyName = "recoverConfig")] - public bool? RecoverConfig { get; set; } + public System.DateTime? SnapshotTime { get; set; } /// - /// [Optional] Destination web app name into which web app should be - /// recovered. This is case when new web app should be created - /// instead. + /// Gets or sets [Optional] Destination app name into which app should + /// be recovered. This is case when new app should be created instead. /// [JsonProperty(PropertyName = "siteName")] public string SiteName { get; set; } /// - /// [Optional] Destination web app slot name into which web app should - /// be recovered + /// Gets or sets [Optional] Destination app slot name into which app + /// should be recovered. /// [JsonProperty(PropertyName = "slotName")] public string SlotName { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSlotEntity.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSlotEntity.cs index a18861ae8bc1..879932f9ab4d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSlotEntity.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmSlotEntity.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Class containing deployment slot parameters + /// Deployment slot parameters. /// public partial class CsmSlotEntity { @@ -29,24 +28,44 @@ public CsmSlotEntity() { } /// /// Initializes a new instance of the CsmSlotEntity class. /// - public CsmSlotEntity(string targetSlot = default(string), bool? preserveVnet = default(bool?)) + /// Destination deployment slot during swap + /// operation. + /// <code>true</code> to + /// preserve Virtual Network to the slot during swap; otherwise, + /// <code>false</code>. + public CsmSlotEntity(string targetSlot, bool preserveVnet) { TargetSlot = targetSlot; PreserveVnet = preserveVnet; } /// - /// Set the destination deployment slot during swap operation + /// Gets or sets destination deployment slot during swap operation. /// [JsonProperty(PropertyName = "targetSlot")] public string TargetSlot { get; set; } /// - /// Get or set the flag indicating it should preserve VNet to the slot - /// during swap + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// preserve Virtual Network to the slot during swap; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "preserveVnet")] - public bool? PreserveVnet { get; set; } + public bool PreserveVnet { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (TargetSlot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "TargetSlot"); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmUsageQuota.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmUsageQuota.cs index a33e6f6949ab..dfe32eb4ea6f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmUsageQuota.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CsmUsageQuota.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Usage of the quota resource + /// Usage of the quota resource. /// public partial class CsmUsageQuota { @@ -29,7 +27,15 @@ public CsmUsageQuota() { } /// /// Initializes a new instance of the CsmUsageQuota class. /// - public CsmUsageQuota(string unit = default(string), DateTime? nextResetTime = default(DateTime?), long? currentValue = default(long?), long? limit = default(long?), LocalizableString name = default(LocalizableString)) + /// Units of measurement for the quota + /// resourse. + /// Next reset time for the resource + /// counter. + /// The current value of the resource + /// counter. + /// The resource limit. + /// Quota name. + public CsmUsageQuota(string unit = default(string), System.DateTime? nextResetTime = default(System.DateTime?), long? currentValue = default(long?), long? limit = default(long?), LocalizableString name = default(LocalizableString)) { Unit = unit; NextResetTime = nextResetTime; @@ -39,34 +45,35 @@ public CsmUsageQuota() { } } /// - /// Units of measurement for the quota resourse + /// Gets or sets units of measurement for the quota resourse. /// [JsonProperty(PropertyName = "unit")] public string Unit { get; set; } /// - /// Next reset time for the resource counter + /// Gets or sets next reset time for the resource counter. /// [JsonProperty(PropertyName = "nextResetTime")] - public DateTime? NextResetTime { get; set; } + public System.DateTime? NextResetTime { get; set; } /// - /// The current value of the resource counter + /// Gets or sets the current value of the resource counter. /// [JsonProperty(PropertyName = "currentValue")] public long? CurrentValue { get; set; } /// - /// The resource limit + /// Gets or sets the resource limit. /// [JsonProperty(PropertyName = "limit")] public long? Limit { get; set; } /// - /// Quota name + /// Gets or sets quota name. /// [JsonProperty(PropertyName = "name")] public LocalizableString Name { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Csr.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Csr.cs index 333656fa2148..89bd6bfdb19a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Csr.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Csr.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Certificate signing request object + /// Certificate signing request. /// [JsonTransformation] public partial class Csr : Resource @@ -30,8 +32,24 @@ public Csr() { } /// /// Initializes a new instance of the Csr class. /// - public Csr(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string csrName = default(string), string distinguishedName = default(string), string csrString = default(string), string pfxBlob = default(string), string password = default(string), string publicKeyHash = default(string), string hostingEnvironment = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name used to locate CSR object. + /// Distinguished name of certificate + /// to be created. + /// Actual CSR string created. + /// PFX certifcate of created + /// certificate. + /// PFX password. + /// Hash of the certificate's public + /// key. + /// App Service Environment. + public Csr(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string csrName = default(string), string distinguishedName = default(string), string csrString = default(string), string pfxBlob = default(string), string password = default(string), string publicKeyHash = default(string), string hostingEnvironment = default(string)) + : base(location, id, name, kind, type, tags) { CsrName = csrName; DistinguishedName = distinguishedName; @@ -43,53 +61,57 @@ public Csr() { } } /// - /// Name used to locate CSR object + /// Gets or sets name used to locate CSR object. /// [JsonProperty(PropertyName = "properties.name")] public string CsrName { get; set; } /// - /// Distinguished name of certificate to be created + /// Gets or sets distinguished name of certificate to be created. /// [JsonProperty(PropertyName = "properties.distinguishedName")] public string DistinguishedName { get; set; } /// - /// Actual CSR string created + /// Gets or sets actual CSR string created. /// [JsonProperty(PropertyName = "properties.csrString")] public string CsrString { get; set; } /// - /// PFX certifcate of created certificate + /// Gets or sets PFX certifcate of created certificate. /// [JsonProperty(PropertyName = "properties.pfxBlob")] public string PfxBlob { get; set; } /// - /// PFX password + /// Gets or sets PFX password. /// [JsonProperty(PropertyName = "properties.password")] public string Password { get; set; } /// - /// Hash of the certificates public key + /// Gets or sets hash of the certificate's public key. /// [JsonProperty(PropertyName = "properties.publicKeyHash")] public string PublicKeyHash { get; set; } /// - /// Hosting environment + /// Gets or sets app Service Environment. /// [JsonProperty(PropertyName = "properties.hostingEnvironment")] public string HostingEnvironment { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostNameDnsRecordType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostNameDnsRecordType.cs index 3bcfbfd583d4..4b1d6bebd5c8 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostNameDnsRecordType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostNameDnsRecordType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for CustomHostNameDnsRecordType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum CustomHostNameDnsRecordType { [EnumMember(Value = "CName")] @@ -24,3 +28,4 @@ public enum CustomHostNameDnsRecordType A } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostnameAnalysisResult.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostnameAnalysisResult.cs index 3c62dabaff2a..09665fe99e04 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostnameAnalysisResult.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/CustomHostnameAnalysisResult.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents a custom domain analysis + /// Custom domain analysis. /// [JsonTransformation] public partial class CustomHostnameAnalysisResult : Resource @@ -32,8 +34,42 @@ public CustomHostnameAnalysisResult() { } /// Initializes a new instance of the CustomHostnameAnalysisResult /// class. /// - public CustomHostnameAnalysisResult(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), bool? isHostnameAlreadyVerified = default(bool?), DnsVerificationTestResult? customDomainVerificationTest = default(DnsVerificationTestResult?), ErrorEntity customDomainVerificationFailureInfo = default(ErrorEntity), bool? hasConflictOnScaleUnit = default(bool?), bool? hasConflictAcrossSubscription = default(bool?), string conflictingAppResourceId = default(string), IList cNameRecords = default(IList), IList txtRecords = default(IList), IList aRecords = default(IList), IList alternateCNameRecords = default(IList), IList alternateTxtRecords = default(IList)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// <code>true</code> if + /// hostname is already verified; otherwise, + /// <code>false</code>. + /// DNS verification test + /// result. Possible values include: 'Passed', 'Failed', + /// 'Skipped' + /// Raw failure + /// information if DNS verification fails. + /// <code>true</code> + /// if there is a conflict on a scale unit; otherwise, + /// <code>false</code>. + /// <code>true</code> + /// if htere is a conflict across subscriptions; otherwise, + /// <code>false</code>. + /// Name of the conflicting app + /// on scale unit if it's within the same subscription. + /// CName records controller can see for + /// this hostname. + /// TXT records controller can see for this + /// hostname. + /// A records controller can see for this + /// hostname. + /// Alternate CName records + /// controller can see for this hostname. + /// Alternate TXT records controller + /// can see for this hostname. + public CustomHostnameAnalysisResult(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), bool? isHostnameAlreadyVerified = default(bool?), DnsVerificationTestResult? customDomainVerificationTest = default(DnsVerificationTestResult?), ErrorEntity customDomainVerificationFailureInfo = default(ErrorEntity), bool? hasConflictOnScaleUnit = default(bool?), bool? hasConflictAcrossSubscription = default(bool?), string conflictingAppResourceId = default(string), IList cNameRecords = default(IList), IList txtRecords = default(IList), IList aRecords = default(IList), IList alternateCNameRecords = default(IList), IList alternateTxtRecords = default(IList)) + : base(location, id, name, kind, type, tags) { IsHostnameAlreadyVerified = isHostnameAlreadyVerified; CustomDomainVerificationTest = customDomainVerificationTest; @@ -49,79 +85,91 @@ public CustomHostnameAnalysisResult() { } } /// - /// Is hostname already verified? + /// Gets &lt;code&gt;true&lt;/code&gt; if hostname is + /// already verified; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.isHostnameAlreadyVerified")] - public bool? IsHostnameAlreadyVerified { get; set; } + public bool? IsHostnameAlreadyVerified { get; protected set; } /// - /// Dns verification test result. Possible values include: 'Passed', - /// 'Failed', 'Skipped' + /// Gets DNS verification test result. Possible values include: + /// 'Passed', 'Failed', 'Skipped' /// [JsonProperty(PropertyName = "properties.customDomainVerificationTest")] - public DnsVerificationTestResult? CustomDomainVerificationTest { get; set; } + public DnsVerificationTestResult? CustomDomainVerificationTest { get; protected set; } /// - /// Raw failure info if Dns verification fails + /// Gets raw failure information if DNS verification fails. /// [JsonProperty(PropertyName = "properties.customDomainVerificationFailureInfo")] - public ErrorEntity CustomDomainVerificationFailureInfo { get; set; } + public ErrorEntity CustomDomainVerificationFailureInfo { get; protected set; } /// - /// Does it have conflict on scale unit? + /// Gets &lt;code&gt;true&lt;/code&gt; if there is a + /// conflict on a scale unit; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.hasConflictOnScaleUnit")] - public bool? HasConflictOnScaleUnit { get; set; } + public bool? HasConflictOnScaleUnit { get; protected set; } /// - /// Does it have conflict across subscription? + /// Gets &lt;code&gt;true&lt;/code&gt; if htere is a + /// conflict across subscriptions; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.hasConflictAcrossSubscription")] - public bool? HasConflictAcrossSubscription { get; set; } + public bool? HasConflictAcrossSubscription { get; protected set; } /// - /// Name of the conflicting App on scale unit if it's within the same - /// subscription + /// Gets name of the conflicting app on scale unit if it's within the + /// same subscription. /// [JsonProperty(PropertyName = "properties.conflictingAppResourceId")] - public string ConflictingAppResourceId { get; set; } + public string ConflictingAppResourceId { get; protected set; } /// - /// CName records controller could see for this hostname + /// Gets or sets cName records controller can see for this hostname. /// [JsonProperty(PropertyName = "properties.cNameRecords")] public IList CNameRecords { get; set; } /// - /// TxT records controller could see for this hostname + /// Gets or sets TXT records controller can see for this hostname. /// [JsonProperty(PropertyName = "properties.txtRecords")] public IList TxtRecords { get; set; } /// - /// A records controller could see for this hostname + /// Gets or sets a records controller can see for this hostname. /// [JsonProperty(PropertyName = "properties.aRecords")] public IList ARecords { get; set; } /// - /// Alternate CName records controller could see for this hostname + /// Gets or sets alternate CName records controller can see for this + /// hostname. /// [JsonProperty(PropertyName = "properties.alternateCNameRecords")] public IList AlternateCNameRecords { get; set; } /// - /// Alternate TxT records controller could see for this hostname + /// Gets or sets alternate TXT records controller can see for this + /// hostname. /// [JsonProperty(PropertyName = "properties.alternateTxtRecords")] public IList AlternateTxtRecords { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DatabaseBackupSetting.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DatabaseBackupSetting.cs index 9ca2cbc53c5d..3eec7996e690 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DatabaseBackupSetting.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DatabaseBackupSetting.cs @@ -1,26 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Note: properties are serialized in JSON format and stored in DB. - /// if new properties are added they might not be in the - /// previous data rows - /// so please handle nulls + /// Database backup settings. /// public partial class DatabaseBackupSetting { @@ -32,7 +28,17 @@ public DatabaseBackupSetting() { } /// /// Initializes a new instance of the DatabaseBackupSetting class. /// - public DatabaseBackupSetting(string databaseType = default(string), string name = default(string), string connectionStringName = default(string), string connectionString = default(string)) + /// Database type (e.g. SqlAzure / MySql). + /// Possible values include: 'SqlAzure', 'MySql', 'LocalMySql' + /// Contains a connection string + /// name that is linked to the SiteConfig.ConnectionStrings. + /// This is used during restore with overwrite connection strings + /// options. + /// Contains a connection string to a + /// database which is being backed up or restored. If the restore + /// should happen to a new database, the database name inside is the + /// new one. + public DatabaseBackupSetting(string databaseType, string name = default(string), string connectionStringName = default(string), string connectionString = default(string)) { DatabaseType = databaseType; Name = name; @@ -41,7 +47,8 @@ public DatabaseBackupSetting() { } } /// - /// SqlAzure / MySql + /// Gets or sets database type (e.g. SqlAzure / MySql). Possible values + /// include: 'SqlAzure', 'MySql', 'LocalMySql' /// [JsonProperty(PropertyName = "databaseType")] public string DatabaseType { get; set; } @@ -52,21 +59,35 @@ public DatabaseBackupSetting() { } public string Name { get; set; } /// - /// Contains a connection string name that is linked to the - /// SiteConfig.ConnectionStrings. - /// This is used during restore with overwrite connection - /// strings options. + /// Gets or sets contains a connection string name that is linked to + /// the SiteConfig.ConnectionStrings. + /// This is used during restore with overwrite connection strings + /// options. /// [JsonProperty(PropertyName = "connectionStringName")] public string ConnectionStringName { get; set; } /// - /// Contains a connection string to a database which is being backed - /// up/restored. If the restore should happen to a new database, the - /// database name inside is the new one. + /// Gets or sets contains a connection string to a database which is + /// being backed up or restored. If the restore should happen to a new + /// database, the database name inside is the new one. /// [JsonProperty(PropertyName = "connectionString")] public string ConnectionString { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (DatabaseType == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "DatabaseType"); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DatabaseType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DatabaseType.cs new file mode 100644 index 000000000000..bf3518a55338 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DatabaseType.cs @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + + /// + /// Defines values for DatabaseType. + /// + public static class DatabaseType + { + public const string SqlAzure = "SqlAzure"; + public const string MySql = "MySql"; + public const string LocalMySql = "LocalMySql"; + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DeletedSite.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DeletedSite.cs index 98abf77bc0e0..fdf09aa7bb5b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DeletedSite.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DeletedSite.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Reports deleted site including the timestamp of operation + /// A deleted app. /// [JsonTransformation] public partial class DeletedSite : Resource @@ -30,8 +32,94 @@ public DeletedSite() { } /// /// Initializes a new instance of the DeletedSite class. /// - public DeletedSite(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), DateTime? deletedTimestamp = default(DateTime?), string state = default(string), IList hostNames = default(IList), string repositorySiteName = default(string), UsageState? usageState = default(UsageState?), bool? enabled = default(bool?), IList enabledHostNames = default(IList), SiteAvailabilityState? availabilityState = default(SiteAvailabilityState?), IList hostNameSslStates = default(IList), string serverFarmId = default(string), bool? reserved = default(bool?), DateTime? lastModifiedTimeUtc = default(DateTime?), SiteConfig siteConfig = default(SiteConfig), IList trafficManagerHostNames = default(IList), bool? premiumAppDeployed = default(bool?), bool? scmSiteAlsoStopped = default(bool?), string targetSwapSlot = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), string microService = default(string), string gatewaySiteName = default(string), bool? clientAffinityEnabled = default(bool?), bool? clientCertEnabled = default(bool?), bool? hostNamesDisabled = default(bool?), string outboundIpAddresses = default(string), int? containerSize = default(int?), int? dailyMemoryTimeQuota = default(int?), DateTime? suspendedTill = default(DateTime?), int? maxNumberOfWorkers = default(int?), CloningInfo cloningInfo = default(CloningInfo), string resourceGroup = default(string), bool? isDefaultContainer = default(bool?), string defaultHostName = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Time in UTC when the app was + /// deleted. + /// Current state of the app. + /// Hostnames associated with the app. + /// Name of the repository + /// site. + /// State indicating whether the app has + /// exceeded its quota usage. Read-only. Possible values include: + /// 'Normal', 'Exceeded' + /// <code>true</code> if the app is + /// enabled; otherwise, <code>false</code>. Setting this + /// value to false disables the app (takes the app offline). + /// Enabled hostnames for the + /// app.Hostnames need to be assigned (see HostNames) AND enabled. + /// Otherwise, + /// the app is not served on those hostnames. + /// Management information availability + /// state for the app. Possible values include: 'Normal', 'Limited', + /// 'DisasterRecoveryMode' + /// Hostname SSL states are used to + /// manage the SSL bindings for app's hostnames. + /// Resource ID of the associated App + /// Service plan, formatted as: + /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + /// <code>true</code> if reserved; + /// otherwise, <code>false</code>. + /// Last time the app was modified, + /// in UTC. Read-only. + /// Configuration of the app. + /// Azure Traffic Manager + /// hostnames associated with the app. Read-only. + /// Indicates whether app is deployed + /// as a premium app. + /// <code>true</code> to + /// stop SCM (KUDU) site when the app is stopped; otherwise, + /// <code>false</code>. The default is + /// <code>false</code>. + /// Specifies which deployment slot this + /// app will swap into. Read-only. + /// App Service Environment to + /// use for the app. + /// Micro services like apps, logic + /// apps. + /// Name of gateway app associated with + /// the app. + /// <code>true</code> + /// to enable client affinity; <code>false</code> to stop + /// sending session affinity cookies, which route client requests in + /// the same session to the same instance. Default is + /// <code>true</code>. + /// <code>true</code> to + /// enable client certificate authentication (TLS mutual + /// authentication); otherwise, <code>false</code>. Default + /// is <code>false</code>. + /// <code>true</code> to + /// disable the public hostnames of the app; otherwise, + /// <code>false</code>. + /// If <code>true</code>, the app is only accessible via + /// API management process. + /// List of IP addresses that the app + /// uses for outbound connections (e.g. database access). + /// Read-only. + /// Size of the function container. + /// Maximum allowed daily + /// memory-time quota (applicable on dynamic apps only). + /// App suspended till in case memory-time + /// quota is exceeded. + /// Maximum number of workers. + /// This only applies to Functions container. + /// If specified during app creation, the app + /// is cloned from a source app. + /// Name of the resource group the app + /// belongs to. Read-only. + /// <code>true</code> if + /// the app is a default container; otherwise, + /// <code>false</code>. + /// Default hostname of the app. + /// Read-only. + /// Status of the last deployment slot + /// swap operation. + public DeletedSite(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), System.DateTime? deletedTimestamp = default(System.DateTime?), string state = default(string), IList hostNames = default(IList), string repositorySiteName = default(string), UsageState? usageState = default(UsageState?), bool? enabled = default(bool?), IList enabledHostNames = default(IList), SiteAvailabilityState? availabilityState = default(SiteAvailabilityState?), IList hostNameSslStates = default(IList), string serverFarmId = default(string), bool? reserved = default(bool?), System.DateTime? lastModifiedTimeUtc = default(System.DateTime?), SiteConfig siteConfig = default(SiteConfig), IList trafficManagerHostNames = default(IList), bool? premiumAppDeployed = default(bool?), bool? scmSiteAlsoStopped = default(bool?), string targetSwapSlot = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), string microService = default(string), string gatewaySiteName = default(string), bool? clientAffinityEnabled = default(bool?), bool? clientCertEnabled = default(bool?), bool? hostNamesDisabled = default(bool?), string outboundIpAddresses = default(string), int? containerSize = default(int?), int? dailyMemoryTimeQuota = default(int?), System.DateTime? suspendedTill = default(System.DateTime?), int? maxNumberOfWorkers = default(int?), CloningInfo cloningInfo = default(CloningInfo), string resourceGroup = default(string), bool? isDefaultContainer = default(bool?), string defaultHostName = default(string), SlotSwapStatus slotSwapStatus = default(SlotSwapStatus)) + : base(location, id, name, kind, type, tags) { DeletedTimestamp = deletedTimestamp; State = state; @@ -65,249 +153,262 @@ public DeletedSite() { } ResourceGroup = resourceGroup; IsDefaultContainer = isDefaultContainer; DefaultHostName = defaultHostName; + SlotSwapStatus = slotSwapStatus; } /// - /// Time when the site was deleted + /// Gets time in UTC when the app was deleted. /// [JsonProperty(PropertyName = "properties.deletedTimestamp")] - public DateTime? DeletedTimestamp { get; set; } + public System.DateTime? DeletedTimestamp { get; protected set; } /// - /// State of the web app + /// Gets current state of the app. /// [JsonProperty(PropertyName = "properties.state")] - public string State { get; set; } + public string State { get; protected set; } /// - /// Hostnames associated with web app + /// Gets hostnames associated with the app. /// [JsonProperty(PropertyName = "properties.hostNames")] - public IList HostNames { get; set; } + public IList HostNames { get; protected set; } /// - /// Name of repository site + /// Gets name of the repository site. /// [JsonProperty(PropertyName = "properties.repositorySiteName")] - public string RepositorySiteName { get; set; } + public string RepositorySiteName { get; protected set; } /// - /// State indicating whether web app has exceeded its quota usage. - /// Possible values include: 'Normal', 'Exceeded' + /// Gets state indicating whether the app has exceeded its quota usage. + /// Read-only. Possible values include: 'Normal', 'Exceeded' /// [JsonProperty(PropertyName = "properties.usageState")] - public UsageState? UsageState { get; set; } + public UsageState? UsageState { get; protected set; } /// - /// True if the site is enabled; otherwise, false. Setting this value - /// to false disables the site (takes the site off line). + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// app is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. Setting this value + /// to false disables the app (takes the app offline). /// [JsonProperty(PropertyName = "properties.enabled")] public bool? Enabled { get; set; } /// - /// Hostnames for the web app that are enabled. Hostnames need to be - /// assigned and enabled. If some hostnames are assigned but not - /// enabled - /// the app is not served on those hostnames + /// Gets enabled hostnames for the app.Hostnames need to be assigned + /// (see HostNames) AND enabled. Otherwise, + /// the app is not served on those hostnames. /// [JsonProperty(PropertyName = "properties.enabledHostNames")] - public IList EnabledHostNames { get; set; } + public IList EnabledHostNames { get; protected set; } /// - /// Management information availability state for the web app. - /// Possible values are Normal or Limited. - /// Normal means that the site is running correctly and - /// that management information for the site is available. - /// Limited means that only partial management information - /// for the site is available and that detailed site information is - /// unavailable. Possible values include: 'Normal', 'Limited', + /// Gets management information availability state for the app. + /// Possible values include: 'Normal', 'Limited', /// 'DisasterRecoveryMode' /// [JsonProperty(PropertyName = "properties.availabilityState")] - public SiteAvailabilityState? AvailabilityState { get; set; } + public SiteAvailabilityState? AvailabilityState { get; protected set; } /// - /// Hostname SSL states are used to manage the SSL bindings for - /// site's hostnames. + /// Gets or sets hostname SSL states are used to manage the SSL + /// bindings for app's hostnames. /// [JsonProperty(PropertyName = "properties.hostNameSslStates")] public IList HostNameSslStates { get; set; } /// + /// Gets or sets resource ID of the associated App Service plan, + /// formatted as: + /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". /// [JsonProperty(PropertyName = "properties.serverFarmId")] public string ServerFarmId { get; set; } /// - /// Reserved + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// reserved; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.reserved")] public bool? Reserved { get; set; } /// - /// Last time web app was modified in UTC + /// Gets last time the app was modified, in UTC. Read-only. /// [JsonProperty(PropertyName = "properties.lastModifiedTimeUtc")] - public DateTime? LastModifiedTimeUtc { get; set; } + public System.DateTime? LastModifiedTimeUtc { get; protected set; } /// - /// Configuration of web app + /// Gets or sets configuration of the app. /// [JsonProperty(PropertyName = "properties.siteConfig")] public SiteConfig SiteConfig { get; set; } /// - /// Read-only list of Azure Traffic manager hostnames associated with - /// web app + /// Gets azure Traffic Manager hostnames associated with the app. + /// Read-only. /// [JsonProperty(PropertyName = "properties.trafficManagerHostNames")] - public IList TrafficManagerHostNames { get; set; } + public IList TrafficManagerHostNames { get; protected set; } /// - /// If set indicates whether web app is deployed as a premium app + /// Gets indicates whether app is deployed as a premium app. /// [JsonProperty(PropertyName = "properties.premiumAppDeployed")] - public bool? PremiumAppDeployed { get; set; } + public bool? PremiumAppDeployed { get; protected set; } /// - /// If set indicates whether to stop SCM (KUDU) site when the web app - /// is stopped. Default is false. + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to stop + /// SCM (KUDU) site when the app is stopped; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. The default is + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.scmSiteAlsoStopped")] public bool? ScmSiteAlsoStopped { get; set; } /// - /// Read-only property that specifies which slot this app will swap - /// into + /// Gets specifies which deployment slot this app will swap into. + /// Read-only. /// [JsonProperty(PropertyName = "properties.targetSwapSlot")] - public string TargetSwapSlot { get; set; } + public string TargetSwapSlot { get; protected set; } /// - /// Specification for the hosting environment (App Service - /// Environment) to use for the web app + /// Gets or sets app Service Environment to use for the app. /// [JsonProperty(PropertyName = "properties.hostingEnvironmentProfile")] public HostingEnvironmentProfile HostingEnvironmentProfile { get; set; } /// - /// Micro services like WebSites, Logic Apps + /// Gets or sets micro services like apps, logic apps. /// [JsonProperty(PropertyName = "properties.microService")] public string MicroService { get; set; } /// - /// Name of gateway app associated with web app + /// Gets or sets name of gateway app associated with the app. /// [JsonProperty(PropertyName = "properties.gatewaySiteName")] public string GatewaySiteName { get; set; } /// - /// Specifies if the client affinity is enabled when load balancing - /// http request for multiple instances of the web app + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// enable client affinity; + /// &lt;code&gt;false&lt;/code&gt; to stop sending + /// session affinity cookies, which route client requests in the same + /// session to the same instance. Default is + /// &lt;code&gt;true&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.clientAffinityEnabled")] public bool? ClientAffinityEnabled { get; set; } /// - /// Specifies if the client certificate is enabled for the web app + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// enable client certificate authentication (TLS mutual + /// authentication); otherwise, + /// &lt;code&gt;false&lt;/code&gt;. Default is + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.clientCertEnabled")] public bool? ClientCertEnabled { get; set; } /// - /// Specifies if the public hostnames are disabled the web app. - /// If set to true the app is only accessible via API - /// Management process + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// disable the public hostnames of the app; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. + /// If &lt;code&gt;true&lt;/code&gt;, the app is only + /// accessible via API management process. /// [JsonProperty(PropertyName = "properties.hostNamesDisabled")] public bool? HostNamesDisabled { get; set; } /// - /// List of comma separated IP addresses that this web app uses for - /// outbound connections. Those can be used when configuring firewall - /// rules for databases accessed by this web app. + /// Gets list of IP addresses that the app uses for outbound + /// connections (e.g. database access). Read-only. /// [JsonProperty(PropertyName = "properties.outboundIpAddresses")] - public string OutboundIpAddresses { get; set; } + public string OutboundIpAddresses { get; protected set; } /// - /// Size of a function container + /// Gets or sets size of the function container. /// [JsonProperty(PropertyName = "properties.containerSize")] public int? ContainerSize { get; set; } /// - /// Maximum allowed daily memory-time quota (applicable on dynamic - /// sites only) + /// Gets or sets maximum allowed daily memory-time quota (applicable on + /// dynamic apps only). /// [JsonProperty(PropertyName = "properties.dailyMemoryTimeQuota")] public int? DailyMemoryTimeQuota { get; set; } /// - /// Site suspended till in case memory-time quota is exceeded + /// Gets app suspended till in case memory-time quota is exceeded. /// [JsonProperty(PropertyName = "properties.suspendedTill")] - public DateTime? SuspendedTill { get; set; } + public System.DateTime? SuspendedTill { get; protected set; } /// - /// Maximum number of workers - /// This only applies to function container + /// Gets maximum number of workers. + /// This only applies to Functions container. /// [JsonProperty(PropertyName = "properties.maxNumberOfWorkers")] - public int? MaxNumberOfWorkers { get; set; } + public int? MaxNumberOfWorkers { get; protected set; } /// - /// This is only valid for web app creation. If specified, web app is - /// cloned from - /// a source web app + /// Gets or sets if specified during app creation, the app is cloned + /// from a source app. /// [JsonProperty(PropertyName = "properties.cloningInfo")] public CloningInfo CloningInfo { get; set; } /// - /// Resource group web app belongs to + /// Gets name of the resource group the app belongs to. Read-only. /// [JsonProperty(PropertyName = "properties.resourceGroup")] - public string ResourceGroup { get; set; } + public string ResourceGroup { get; protected set; } /// - /// Site is a default container + /// Gets &lt;code&gt;true&lt;/code&gt; if the app is a + /// default container; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.isDefaultContainer")] - public bool? IsDefaultContainer { get; set; } + public bool? IsDefaultContainer { get; protected set; } /// - /// Default hostname of the web app + /// Gets default hostname of the app. Read-only. /// [JsonProperty(PropertyName = "properties.defaultHostName")] - public string DefaultHostName { get; set; } + public string DefaultHostName { get; protected set; } + + /// + /// Gets status of the last deployment slot swap operation. + /// + [JsonProperty(PropertyName = "properties.slotSwapStatus")] + public SlotSwapStatus SlotSwapStatus { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.HostNameSslStates != null) + if (SiteConfig != null) { - foreach (var element in this.HostNameSslStates) - { - if (element != null) - { - element.Validate(); - } - } + SiteConfig.Validate(); } - if (this.SiteConfig != null) + if (CloningInfo != null) { - this.SiteConfig.Validate(); - } - if (this.CloningInfo != null) - { - this.CloningInfo.Validate(); + CloningInfo.Validate(); } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Deployment.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Deployment.cs index 3212734832ed..225a1eab0416 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Deployment.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Deployment.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents user crendentials used for publishing activity + /// User crendentials used for publishing activity. /// [JsonTransformation] public partial class Deployment : Resource @@ -30,8 +32,24 @@ public Deployment() { } /// /// Initializes a new instance of the Deployment class. /// - public Deployment(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string deploymentId = default(string), int? status = default(int?), string message = default(string), string author = default(string), string deployer = default(string), string authorEmail = default(string), DateTime? startTime = default(DateTime?), DateTime? endTime = default(DateTime?), bool? active = default(bool?), string details = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// ID. + /// Status. + /// Message. + /// Author. + /// Deployer. + /// Author email. + /// Start time. + /// End time. + /// Active. + /// Detail. + public Deployment(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string deploymentId = default(string), int? status = default(int?), string message = default(string), string author = default(string), string deployer = default(string), string authorEmail = default(string), System.DateTime? startTime = default(System.DateTime?), System.DateTime? endTime = default(System.DateTime?), bool? active = default(bool?), string details = default(string)) + : base(location, id, name, kind, type, tags) { DeploymentId = deploymentId; Status = status; @@ -46,71 +64,75 @@ public Deployment() { } } /// - /// Id + /// Gets or sets ID. /// [JsonProperty(PropertyName = "properties.id")] public string DeploymentId { get; set; } /// - /// Status + /// Gets or sets status. /// [JsonProperty(PropertyName = "properties.status")] public int? Status { get; set; } /// - /// Message + /// Gets or sets message. /// [JsonProperty(PropertyName = "properties.message")] public string Message { get; set; } /// - /// Author + /// Gets or sets author. /// [JsonProperty(PropertyName = "properties.author")] public string Author { get; set; } /// - /// Deployer + /// Gets or sets deployer. /// [JsonProperty(PropertyName = "properties.deployer")] public string Deployer { get; set; } /// - /// AuthorEmail + /// Gets or sets author email. /// [JsonProperty(PropertyName = "properties.author_email")] public string AuthorEmail { get; set; } /// - /// StartTime + /// Gets or sets start time. /// [JsonProperty(PropertyName = "properties.start_time")] - public DateTime? StartTime { get; set; } + public System.DateTime? StartTime { get; set; } /// - /// EndTime + /// Gets or sets end time. /// [JsonProperty(PropertyName = "properties.end_time")] - public DateTime? EndTime { get; set; } + public System.DateTime? EndTime { get; set; } /// - /// Active + /// Gets or sets active. /// [JsonProperty(PropertyName = "properties.active")] public bool? Active { get; set; } /// - /// Detail + /// Gets or sets detail. /// [JsonProperty(PropertyName = "properties.details")] public string Details { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DnsVerificationTestResult.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DnsVerificationTestResult.cs index 058259539287..39e1434b6614 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DnsVerificationTestResult.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DnsVerificationTestResult.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for DnsVerificationTestResult. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum DnsVerificationTestResult { [EnumMember(Value = "Passed")] @@ -26,3 +30,4 @@ public enum DnsVerificationTestResult Skipped } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Domain.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Domain.cs index fcda79d9e4a4..ca51b2a48198 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Domain.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Domain.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents a domain + /// Information about a domain. /// [JsonTransformation] public partial class Domain : Resource @@ -30,8 +32,51 @@ public Domain() { } /// /// Initializes a new instance of the Domain class. /// - public Domain(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), Contact contactAdmin = default(Contact), Contact contactBilling = default(Contact), Contact contactRegistrant = default(Contact), Contact contactTech = default(Contact), DomainStatus? registrationStatus = default(DomainStatus?), ProvisioningState? provisioningState = default(ProvisioningState?), IList nameServers = default(IList), bool? privacy = default(bool?), DateTime? createdTime = default(DateTime?), DateTime? expirationTime = default(DateTime?), DateTime? lastRenewedTime = default(DateTime?), bool? autoRenew = default(bool?), bool? readyForDnsRecordManagement = default(bool?), IList managedHostNames = default(IList), DomainPurchaseConsent consent = default(DomainPurchaseConsent), IList domainNotRenewableReasons = default(IList)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Administrative contact. + /// Billing contact. + /// Registrant contact. + /// Technical contact. + /// Domain registration status. + /// Possible values include: 'Active', 'Awaiting', 'Cancelled', + /// 'Confiscated', 'Disabled', 'Excluded', 'Expired', 'Failed', 'Held', + /// 'Locked', 'Parked', 'Pending', 'Reserved', 'Reverted', 'Suspended', + /// 'Transferred', 'Unknown', 'Unlocked', 'Unparked', 'Updated', + /// 'JsonConverterFailed' + /// Domain provisioning state. Possible + /// values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', + /// 'Deleting' + /// Name servers. + /// <code>true</code> if domain + /// privacy is enabled for this domain; otherwise, + /// <code>false</code>. + /// Domain creation timestamp. + /// Domain expiration timestamp. + /// Timestamp when the domain was renewed + /// last time. + /// <code>true</code> if the domain + /// should be automatically renewed; otherwise, + /// <code>false</code>. + /// <code>true</code> if + /// Azure can assign this domain to App Service apps; otherwise, + /// <code>false</code>. This value will be + /// <code>true</code> if domain registration status is + /// active and + /// it is hosted on name servers Azure has programmatic access + /// to. + /// All hostnames derived from the + /// domain and assigned to Azure resources. + /// Legal agreement consent. + /// Reasons why domain is not + /// renewable. + public Domain(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), Contact contactAdmin = default(Contact), Contact contactBilling = default(Contact), Contact contactRegistrant = default(Contact), Contact contactTech = default(Contact), DomainStatus? registrationStatus = default(DomainStatus?), ProvisioningState? provisioningState = default(ProvisioningState?), IList nameServers = default(IList), bool? privacy = default(bool?), System.DateTime? createdTime = default(System.DateTime?), System.DateTime? expirationTime = default(System.DateTime?), System.DateTime? lastRenewedTime = default(System.DateTime?), bool? autoRenew = default(bool?), bool? readyForDnsRecordManagement = default(bool?), IList managedHostNames = default(IList), DomainPurchaseConsent consent = default(DomainPurchaseConsent), IList domainNotRenewableReasons = default(IList)) + : base(location, id, name, kind, type, tags) { ContactAdmin = contactAdmin; ContactBilling = contactBilling; @@ -52,115 +97,142 @@ public Domain() { } } /// - /// Admin contact information + /// Gets or sets administrative contact. /// [JsonProperty(PropertyName = "properties.contactAdmin")] public Contact ContactAdmin { get; set; } /// - /// Billing contact information + /// Gets or sets billing contact. /// [JsonProperty(PropertyName = "properties.contactBilling")] public Contact ContactBilling { get; set; } /// - /// Registrant contact information + /// Gets or sets registrant contact. /// [JsonProperty(PropertyName = "properties.contactRegistrant")] public Contact ContactRegistrant { get; set; } /// - /// Technical contact information + /// Gets or sets technical contact. /// [JsonProperty(PropertyName = "properties.contactTech")] public Contact ContactTech { get; set; } /// - /// Domain registration status. Possible values include: 'Active', + /// Gets domain registration status. Possible values include: 'Active', /// 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', 'Excluded', /// 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', /// 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', /// 'Unlocked', 'Unparked', 'Updated', 'JsonConverterFailed' /// [JsonProperty(PropertyName = "properties.registrationStatus")] - public DomainStatus? RegistrationStatus { get; set; } + public DomainStatus? RegistrationStatus { get; protected set; } /// - /// Domain provisioning state. Possible values include: 'Succeeded', - /// 'Failed', 'Canceled', 'InProgress', 'Deleting' + /// Gets domain provisioning state. Possible values include: + /// 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' /// [JsonProperty(PropertyName = "properties.provisioningState")] - public ProvisioningState? ProvisioningState { get; set; } + public ProvisioningState? ProvisioningState { get; protected set; } /// - /// Name servers + /// Gets or sets name servers. /// [JsonProperty(PropertyName = "properties.nameServers")] public IList NameServers { get; set; } /// - /// If true then domain privacy is enabled for this domain + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// domain privacy is enabled for this domain; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.privacy")] public bool? Privacy { get; set; } /// - /// Domain creation timestamp + /// Gets domain creation timestamp. /// [JsonProperty(PropertyName = "properties.createdTime")] - public DateTime? CreatedTime { get; set; } + public System.DateTime? CreatedTime { get; protected set; } /// - /// Domain expiration timestamp + /// Gets domain expiration timestamp. /// [JsonProperty(PropertyName = "properties.expirationTime")] - public DateTime? ExpirationTime { get; set; } + public System.DateTime? ExpirationTime { get; protected set; } /// - /// Timestamp when the domain was renewed last time + /// Gets timestamp when the domain was renewed last time. /// [JsonProperty(PropertyName = "properties.lastRenewedTime")] - public DateTime? LastRenewedTime { get; set; } + public System.DateTime? LastRenewedTime { get; protected set; } /// - /// If true then domain will renewed automatically + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// domain should be automatically renewed; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.autoRenew")] public bool? AutoRenew { get; set; } /// - /// If true then Azure can assign this domain to Web Apps. This value - /// will be true if domain registration status is active and it is - /// hosted on name servers Azure has programmatic access to + /// Gets &lt;code&gt;true&lt;/code&gt; if Azure can + /// assign this domain to App Service apps; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. This value will be + /// &lt;code&gt;true&lt;/code&gt; if domain + /// registration status is active and + /// it is hosted on name servers Azure has programmatic access to. /// [JsonProperty(PropertyName = "properties.readyForDnsRecordManagement")] - public bool? ReadyForDnsRecordManagement { get; set; } + public bool? ReadyForDnsRecordManagement { get; protected set; } /// - /// All hostnames derived from the domain and assigned to Azure - /// resources + /// Gets or sets all hostnames derived from the domain and assigned to + /// Azure resources. /// [JsonProperty(PropertyName = "properties.managedHostNames")] public IList ManagedHostNames { get; set; } /// - /// Legal agreement consent + /// Gets or sets legal agreement consent. /// [JsonProperty(PropertyName = "properties.consent")] public DomainPurchaseConsent Consent { get; set; } /// - /// Reasons why domain is not renewable + /// Gets or sets reasons why domain is not renewable. /// [JsonProperty(PropertyName = "properties.domainNotRenewableReasons")] public IList DomainNotRenewableReasons { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); + if (ContactAdmin != null) + { + ContactAdmin.Validate(); + } + if (ContactBilling != null) + { + ContactBilling.Validate(); + } + if (ContactRegistrant != null) + { + ContactRegistrant.Validate(); + } + if (ContactTech != null) + { + ContactTech.Validate(); + } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainAvailablilityCheckResult.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainAvailablilityCheckResult.cs index b618ddde7fbd..9a3e8633fa6f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainAvailablilityCheckResult.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainAvailablilityCheckResult.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Domain availablility check result + /// Domain availablility check result. /// public partial class DomainAvailablilityCheckResult { @@ -31,6 +29,15 @@ public DomainAvailablilityCheckResult() { } /// Initializes a new instance of the DomainAvailablilityCheckResult /// class. /// + /// Name of the domain. + /// <code>true</code> if domain can + /// be purchased using CreateDomain API; otherwise, + /// <code>false</code>. + /// Valid values are Regular domain: Azure + /// will charge the full price of domain registration, SoftDeleted: + /// Purchasing this domain will simply restore it and this operation + /// will not cost anything. Possible values include: 'Regular', + /// 'SoftDeleted' public DomainAvailablilityCheckResult(string name = default(string), bool? available = default(bool?), DomainType? domainType = default(DomainType?)) { Name = name; @@ -39,22 +46,28 @@ public DomainAvailablilityCheckResult() { } } /// - /// Name of the domain + /// Gets or sets name of the domain. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// If true then domain can be purchased using CreateDomain Api + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// domain can be purchased using CreateDomain API; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "available")] public bool? Available { get; set; } /// - /// Domain type. Possible values include: 'Regular', 'SoftDeleted' + /// Gets or sets valid values are Regular domain: Azure will charge the + /// full price of domain registration, SoftDeleted: Purchasing this + /// domain will simply restore it and this operation will not cost + /// anything. Possible values include: 'Regular', 'SoftDeleted' /// [JsonProperty(PropertyName = "domainType")] public DomainType? DomainType { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainControlCenterSsoRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainControlCenterSsoRequest.cs index 7e2e26d61ebe..f1578f6077a8 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainControlCenterSsoRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainControlCenterSsoRequest.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Single sign on request information for domain management + /// Single sign-on request information for domain management. /// public partial class DomainControlCenterSsoRequest { @@ -31,6 +29,12 @@ public DomainControlCenterSsoRequest() { } /// Initializes a new instance of the DomainControlCenterSsoRequest /// class. /// + /// URL where the single sign-on request is to be + /// made. + /// Post parameter key. + /// Post parameter value. Client + /// should use 'application/x-www-form-urlencoded' encoding for this + /// value. public DomainControlCenterSsoRequest(string url = default(string), string postParameterKey = default(string), string postParameterValue = default(string)) { Url = url; @@ -39,23 +43,24 @@ public DomainControlCenterSsoRequest() { } } /// - /// Url where the single sign on request is to be made + /// Gets URL where the single sign-on request is to be made. /// [JsonProperty(PropertyName = "url")] - public string Url { get; set; } + public string Url { get; protected set; } /// - /// Post parameter key + /// Gets post parameter key. /// [JsonProperty(PropertyName = "postParameterKey")] - public string PostParameterKey { get; set; } + public string PostParameterKey { get; protected set; } /// - /// Post parameter value. Client should use + /// Gets post parameter value. Client should use /// 'application/x-www-form-urlencoded' encoding for this value. /// [JsonProperty(PropertyName = "postParameterValue")] - public string PostParameterValue { get; set; } + public string PostParameterValue { get; protected set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainOwnershipIdentifier.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainOwnershipIdentifier.cs new file mode 100644 index 000000000000..a7aed518ed64 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainOwnershipIdentifier.cs @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Domain ownership Identifier. + /// + [JsonTransformation] + public partial class DomainOwnershipIdentifier : Resource + { + /// + /// Initializes a new instance of the DomainOwnershipIdentifier class. + /// + public DomainOwnershipIdentifier() { } + + /// + /// Initializes a new instance of the DomainOwnershipIdentifier class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Ownership Id. + public DomainOwnershipIdentifier(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string ownershipId = default(string)) + : base(location, id, name, kind, type, tags) + { + OwnershipId = ownershipId; + } + + /// + /// Gets or sets ownership Id. + /// + [JsonProperty(PropertyName = "properties.ownershipId")] + public string OwnershipId { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainPurchaseConsent.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainPurchaseConsent.cs index d6ea7b1b7b14..8e3177e3eacf 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainPurchaseConsent.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainPurchaseConsent.cs @@ -1,24 +1,24 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Domain purchase consent object representing acceptance of applicable - /// legal agreements + /// Domain purchase consent object, representing acceptance of applicable + /// legal agreements. /// public partial class DomainPurchaseConsent { @@ -30,7 +30,13 @@ public DomainPurchaseConsent() { } /// /// Initializes a new instance of the DomainPurchaseConsent class. /// - public DomainPurchaseConsent(IList agreementKeys = default(IList), string agreedBy = default(string), DateTime? agreedAt = default(DateTime?)) + /// List of applicable legal agreement + /// keys. This list can be retrieved using ListLegalAgreements API + /// under <code>TopLevelDomain</code> resource. + /// Client IP address. + /// Timestamp when the agreements were + /// accepted. + public DomainPurchaseConsent(IList agreementKeys = default(IList), string agreedBy = default(string), System.DateTime? agreedAt = default(System.DateTime?)) { AgreementKeys = agreementKeys; AgreedBy = agreedBy; @@ -38,24 +44,25 @@ public DomainPurchaseConsent() { } } /// - /// List of applicable legal agreement keys. This list can be - /// retrieved using ListLegalAgreements Api under TopLevelDomain - /// resource + /// Gets or sets list of applicable legal agreement keys. This list can + /// be retrieved using ListLegalAgreements API under + /// &lt;code&gt;TopLevelDomain&lt;/code&gt; resource. /// [JsonProperty(PropertyName = "agreementKeys")] public IList AgreementKeys { get; set; } /// - /// Client IP address + /// Gets or sets client IP address. /// [JsonProperty(PropertyName = "agreedBy")] public string AgreedBy { get; set; } /// - /// Timestamp when the agreements were accepted + /// Gets or sets timestamp when the agreements were accepted. /// [JsonProperty(PropertyName = "agreedAt")] - public DateTime? AgreedAt { get; set; } + public System.DateTime? AgreedAt { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainRecommendationSearchParameters.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainRecommendationSearchParameters.cs index 68343c25ff6c..695b426da007 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainRecommendationSearchParameters.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainRecommendationSearchParameters.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Domain recommendation search parameters + /// Domain recommendation search parameters. /// public partial class DomainRecommendationSearchParameters { @@ -31,6 +29,10 @@ public DomainRecommendationSearchParameters() { } /// Initializes a new instance of the /// DomainRecommendationSearchParameters class. /// + /// Keywords to be used for generating domain + /// recommendations. + /// Maximum number of + /// recommendations. public DomainRecommendationSearchParameters(string keywords = default(string), int? maxDomainRecommendations = default(int?)) { Keywords = keywords; @@ -38,16 +40,18 @@ public DomainRecommendationSearchParameters() { } } /// - /// Keywords to be used for generating domain recommendations + /// Gets or sets keywords to be used for generating domain + /// recommendations. /// [JsonProperty(PropertyName = "keywords")] public string Keywords { get; set; } /// - /// Maximum number of recommendations + /// Gets or sets maximum number of recommendations. /// [JsonProperty(PropertyName = "maxDomainRecommendations")] public int? MaxDomainRecommendations { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainRegistrationInput.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainRegistrationInput.cs deleted file mode 100644 index 8d8b24868122..000000000000 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainRegistrationInput.cs +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. - -namespace Microsoft.Azure.Management.WebSites.Models -{ - using System; - using System.Linq; - using System.Collections.Generic; - using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; - - /// - /// Domain registration input for validation Api - /// - [JsonTransformation] - public partial class DomainRegistrationInput : Resource - { - /// - /// Initializes a new instance of the DomainRegistrationInput class. - /// - public DomainRegistrationInput() { } - - /// - /// Initializes a new instance of the DomainRegistrationInput class. - /// - public DomainRegistrationInput(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string domainRegistrationInputName = default(string), Contact contactAdmin = default(Contact), Contact contactBilling = default(Contact), Contact contactRegistrant = default(Contact), Contact contactTech = default(Contact), DomainStatus? registrationStatus = default(DomainStatus?), ProvisioningState? provisioningState = default(ProvisioningState?), IList nameServers = default(IList), bool? privacy = default(bool?), DateTime? createdTime = default(DateTime?), DateTime? expirationTime = default(DateTime?), DateTime? lastRenewedTime = default(DateTime?), bool? autoRenew = default(bool?), bool? readyForDnsRecordManagement = default(bool?), IList managedHostNames = default(IList), DomainPurchaseConsent consent = default(DomainPurchaseConsent), IList domainNotRenewableReasons = default(IList)) - : base(name, location, id, kind, type, tags) - { - DomainRegistrationInputName = domainRegistrationInputName; - ContactAdmin = contactAdmin; - ContactBilling = contactBilling; - ContactRegistrant = contactRegistrant; - ContactTech = contactTech; - RegistrationStatus = registrationStatus; - ProvisioningState = provisioningState; - NameServers = nameServers; - Privacy = privacy; - CreatedTime = createdTime; - ExpirationTime = expirationTime; - LastRenewedTime = lastRenewedTime; - AutoRenew = autoRenew; - ReadyForDnsRecordManagement = readyForDnsRecordManagement; - ManagedHostNames = managedHostNames; - Consent = consent; - DomainNotRenewableReasons = domainNotRenewableReasons; - } - - /// - /// Name of the domain - /// - [JsonProperty(PropertyName = "properties.name")] - public string DomainRegistrationInputName { get; set; } - - /// - /// Admin contact information - /// - [JsonProperty(PropertyName = "properties.contactAdmin")] - public Contact ContactAdmin { get; set; } - - /// - /// Billing contact information - /// - [JsonProperty(PropertyName = "properties.contactBilling")] - public Contact ContactBilling { get; set; } - - /// - /// Registrant contact information - /// - [JsonProperty(PropertyName = "properties.contactRegistrant")] - public Contact ContactRegistrant { get; set; } - - /// - /// Technical contact information - /// - [JsonProperty(PropertyName = "properties.contactTech")] - public Contact ContactTech { get; set; } - - /// - /// Domain registration status. Possible values include: 'Active', - /// 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', 'Excluded', - /// 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', - /// 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', - /// 'Unlocked', 'Unparked', 'Updated', 'JsonConverterFailed' - /// - [JsonProperty(PropertyName = "properties.registrationStatus")] - public DomainStatus? RegistrationStatus { get; set; } - - /// - /// Domain provisioning state. Possible values include: 'Succeeded', - /// 'Failed', 'Canceled', 'InProgress', 'Deleting' - /// - [JsonProperty(PropertyName = "properties.provisioningState")] - public ProvisioningState? ProvisioningState { get; set; } - - /// - /// Name servers - /// - [JsonProperty(PropertyName = "properties.nameServers")] - public IList NameServers { get; set; } - - /// - /// If true then domain privacy is enabled for this domain - /// - [JsonProperty(PropertyName = "properties.privacy")] - public bool? Privacy { get; set; } - - /// - /// Domain creation timestamp - /// - [JsonProperty(PropertyName = "properties.createdTime")] - public DateTime? CreatedTime { get; set; } - - /// - /// Domain expiration timestamp - /// - [JsonProperty(PropertyName = "properties.expirationTime")] - public DateTime? ExpirationTime { get; set; } - - /// - /// Timestamp when the domain was renewed last time - /// - [JsonProperty(PropertyName = "properties.lastRenewedTime")] - public DateTime? LastRenewedTime { get; set; } - - /// - /// If true then domain will renewed automatically - /// - [JsonProperty(PropertyName = "properties.autoRenew")] - public bool? AutoRenew { get; set; } - - /// - /// If true then Azure can assign this domain to Web Apps. This value - /// will be true if domain registration status is active and it is - /// hosted on name servers Azure has programmatic access to - /// - [JsonProperty(PropertyName = "properties.readyForDnsRecordManagement")] - public bool? ReadyForDnsRecordManagement { get; set; } - - /// - /// All hostnames derived from the domain and assigned to Azure - /// resources - /// - [JsonProperty(PropertyName = "properties.managedHostNames")] - public IList ManagedHostNames { get; set; } - - /// - /// Legal agreement consent - /// - [JsonProperty(PropertyName = "properties.consent")] - public DomainPurchaseConsent Consent { get; set; } - - /// - /// Reasons why domain is not renewable - /// - [JsonProperty(PropertyName = "properties.domainNotRenewableReasons")] - public IList DomainNotRenewableReasons { get; set; } - - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public override void Validate() - { - base.Validate(); - } - } -} diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainStatus.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainStatus.cs index e7f4058631f9..b044f2d69c68 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainStatus.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainStatus.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for DomainStatus. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum DomainStatus { [EnumMember(Value = "Active")] @@ -62,3 +66,4 @@ public enum DomainStatus JsonConverterFailed } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainType.cs index 4768bc340636..139df36fb9c2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/DomainType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for DomainType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum DomainType { [EnumMember(Value = "Regular")] @@ -24,3 +28,4 @@ public enum DomainType SoftDeleted } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/EnabledConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/EnabledConfig.cs index 95139251d059..5ee9e76e6247 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/EnabledConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/EnabledConfig.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Enabled configuration + /// Enabled configuration. /// public partial class EnabledConfig { @@ -29,16 +27,18 @@ public EnabledConfig() { } /// /// Initializes a new instance of the EnabledConfig class. /// + /// Enabled. public EnabledConfig(bool? enabled = default(bool?)) { Enabled = enabled; } /// - /// Enabled + /// Gets or sets enabled. /// [JsonProperty(PropertyName = "enabled")] public bool? Enabled { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ErrorEntity.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ErrorEntity.cs index 49d3e92988a1..b58fb899afe1 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ErrorEntity.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ErrorEntity.cs @@ -1,20 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// /// Body of the error response returned from the API. @@ -29,6 +29,12 @@ public ErrorEntity() { } /// /// Initializes a new instance of the ErrorEntity class. /// + /// Basic error code. + /// Any details of the error. + /// Type of error. + /// Message template. + /// Parameters for the template. + /// Inner errors. public ErrorEntity(string code = default(string), string message = default(string), string extendedCode = default(string), string messageTemplate = default(string), IList parameters = default(IList), IList innerErrors = default(IList)) { Code = code; @@ -40,40 +46,41 @@ public ErrorEntity() { } } /// - /// Basic error code + /// Gets or sets basic error code. /// [JsonProperty(PropertyName = "code")] public string Code { get; set; } /// - /// Any details of the error + /// Gets or sets any details of the error. /// [JsonProperty(PropertyName = "message")] public string Message { get; set; } /// - /// Type of error + /// Gets or sets type of error. /// [JsonProperty(PropertyName = "extendedCode")] public string ExtendedCode { get; set; } /// - /// Message template + /// Gets or sets message template. /// [JsonProperty(PropertyName = "messageTemplate")] public string MessageTemplate { get; set; } /// - /// Parameters for the template + /// Gets or sets parameters for the template. /// [JsonProperty(PropertyName = "parameters")] public IList Parameters { get; set; } /// - /// Inner errors + /// Gets or sets inner errors. /// [JsonProperty(PropertyName = "innerErrors")] public IList InnerErrors { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Experiments.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Experiments.cs index e9e053f8a55c..fc8b0759a3c6 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Experiments.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Experiments.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class containing Routing in production experiments + /// Routing rules in production experiments. /// public partial class Experiments { @@ -29,16 +29,18 @@ public Experiments() { } /// /// Initializes a new instance of the Experiments class. /// + /// List of ramp-up rules. public Experiments(IList rampUpRules = default(IList)) { RampUpRules = rampUpRules; } /// - /// List of {Microsoft.Web.Hosting.Administration.RampUpRule} objects. + /// Gets or sets list of ramp-up rules. /// [JsonProperty(PropertyName = "rampUpRules")] public IList RampUpRules { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemApplicationLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemApplicationLogsConfig.cs index eebf5e81dd0f..1082b9f3de59 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemApplicationLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemApplicationLogsConfig.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Application logs to file system configuration + /// Application logs to file system configuration. /// public partial class FileSystemApplicationLogsConfig { @@ -31,13 +29,15 @@ public FileSystemApplicationLogsConfig() { } /// Initializes a new instance of the FileSystemApplicationLogsConfig /// class. /// + /// Log level. Possible values include: 'Off', + /// 'Verbose', 'Information', 'Warning', 'Error' public FileSystemApplicationLogsConfig(LogLevel? level = default(LogLevel?)) { Level = level; } /// - /// Log level. Possible values include: 'Off', 'Verbose', + /// Gets or sets log level. Possible values include: 'Off', 'Verbose', /// 'Information', 'Warning', 'Error' /// [JsonProperty(PropertyName = "level")] @@ -45,3 +45,4 @@ public FileSystemApplicationLogsConfig() { } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemHttpLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemHttpLogsConfig.cs index 511c7a954410..0d0a0c4ed401 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemHttpLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FileSystemHttpLogsConfig.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Http logs to file system configuration + /// Http logs to file system configuration. /// public partial class FileSystemHttpLogsConfig { @@ -29,6 +28,15 @@ public FileSystemHttpLogsConfig() { } /// /// Initializes a new instance of the FileSystemHttpLogsConfig class. /// + /// Maximum size in megabytes that http log + /// files can use. + /// When reached old log files will be removed to make space for new + /// ones. + /// Value can range between 25 and 100. + /// Retention in days. + /// Remove files older than X days. + /// 0 or lower means no retention. + /// Enabled. public FileSystemHttpLogsConfig(int? retentionInMb = default(int?), int? retentionInDays = default(int?), bool? enabled = default(bool?)) { RetentionInMb = retentionInMb; @@ -37,16 +45,16 @@ public FileSystemHttpLogsConfig() { } } /// - /// Maximum size in megabytes that http log files can use. - /// When reached old log files will be removed to make - /// space for new ones. + /// Gets or sets maximum size in megabytes that http log files can use. + /// When reached old log files will be removed to make space for new + /// ones. /// Value can range between 25 and 100. /// [JsonProperty(PropertyName = "retentionInMb")] public int? RetentionInMb { get; set; } /// - /// Retention in days. + /// Gets or sets retention in days. /// Remove files older than X days. /// 0 or lower means no retention. /// @@ -54,10 +62,28 @@ public FileSystemHttpLogsConfig() { } public int? RetentionInDays { get; set; } /// - /// Enabled + /// Gets or sets enabled. /// [JsonProperty(PropertyName = "enabled")] public bool? Enabled { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (RetentionInMb > 100) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "RetentionInMb", 100); + } + if (RetentionInMb < 25) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "RetentionInMb", 25); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FrequencyUnit.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FrequencyUnit.cs index a92ab4d31fd3..8d8831ca1aa2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FrequencyUnit.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/FrequencyUnit.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for FrequencyUnit. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum FrequencyUnit { [EnumMember(Value = "Day")] @@ -24,3 +28,4 @@ public enum FrequencyUnit Hour } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/GeoRegion.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/GeoRegion.cs index 5e3881f5a620..0a977780bc6c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/GeoRegion.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/GeoRegion.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Geographical region + /// Geographical region. /// [JsonTransformation] public partial class GeoRegion : Resource @@ -30,8 +32,17 @@ public GeoRegion() { } /// /// Initializes a new instance of the GeoRegion class. /// - public GeoRegion(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string geoRegionName = default(string), string description = default(string), string displayName = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Region name. + /// Region description. + /// Display name for region. + public GeoRegion(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string geoRegionName = default(string), string description = default(string), string displayName = default(string)) + : base(location, id, name, kind, type, tags) { GeoRegionName = geoRegionName; Description = description; @@ -39,29 +50,33 @@ public GeoRegion() { } } /// - /// Region name + /// Gets region name. /// [JsonProperty(PropertyName = "properties.name")] - public string GeoRegionName { get; set; } + public string GeoRegionName { get; protected set; } /// - /// Region description + /// Gets region description. /// [JsonProperty(PropertyName = "properties.description")] - public string Description { get; set; } + public string Description { get; protected set; } /// - /// Display name for region + /// Gets display name for region. /// [JsonProperty(PropertyName = "properties.displayName")] - public string DisplayName { get; set; } + public string DisplayName { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/GlobalCsmSkuDescription.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/GlobalCsmSkuDescription.cs new file mode 100644 index 000000000000..b3341d1845ba --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/GlobalCsmSkuDescription.cs @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// A Global SKU Description. + /// + public partial class GlobalCsmSkuDescription + { + /// + /// Initializes a new instance of the GlobalCsmSkuDescription class. + /// + public GlobalCsmSkuDescription() { } + + /// + /// Initializes a new instance of the GlobalCsmSkuDescription class. + /// + /// Name of the resource SKU. + /// Service Tier of the resource SKU. + /// Min, max, and default scale values of the + /// SKU. + /// Locations of the SKU. + /// Capabilities of the SKU, e.g., is + /// traffic manager enabled? + public GlobalCsmSkuDescription(string name = default(string), string tier = default(string), SkuCapacity capacity = default(SkuCapacity), IList locations = default(IList), IList capabilities = default(IList)) + { + Name = name; + Tier = tier; + Capacity = capacity; + Locations = locations; + Capabilities = capabilities; + } + + /// + /// Gets or sets name of the resource SKU. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets service Tier of the resource SKU. + /// + [JsonProperty(PropertyName = "tier")] + public string Tier { get; set; } + + /// + /// Gets or sets min, max, and default scale values of the SKU. + /// + [JsonProperty(PropertyName = "capacity")] + public SkuCapacity Capacity { get; set; } + + /// + /// Gets or sets locations of the SKU. + /// + [JsonProperty(PropertyName = "locations")] + public IList Locations { get; set; } + + /// + /// Gets or sets capabilities of the SKU, e.g., is traffic manager + /// enabled? + /// + [JsonProperty(PropertyName = "capabilities")] + public IList Capabilities { get; set; } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HandlerMapping.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HandlerMapping.cs index 94dba942f7bd..1c2e49b69eef 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HandlerMapping.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HandlerMapping.cs @@ -1,26 +1,24 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// /// The IIS handler mappings used to define which handler processes HTTP /// requests with certain extension. - /// For example it is used to configure php-cgi.exe process to - /// handle all HTTP requests with *.php extension. + /// For example, it is used to configure php-cgi.exe process to handle all + /// HTTP requests with *.php extension. /// public partial class HandlerMapping { @@ -32,6 +30,12 @@ public HandlerMapping() { } /// /// Initializes a new instance of the HandlerMapping class. /// + /// Requests with this extension will be + /// handled using the specified FastCGI application. + /// The absolute path to the FastCGI + /// application. + /// Command-line arguments to be passed to the + /// script processor. public HandlerMapping(string extension = default(string), string scriptProcessor = default(string), string arguments = default(string)) { Extension = extension; @@ -40,23 +44,25 @@ public HandlerMapping() { } } /// - /// Requests with this extension will be handled using the specified - /// FastCGI application. + /// Gets or sets requests with this extension will be handled using the + /// specified FastCGI application. /// [JsonProperty(PropertyName = "extension")] public string Extension { get; set; } /// - /// The absolute path to the FastCGI application. + /// Gets or sets the absolute path to the FastCGI application. /// [JsonProperty(PropertyName = "scriptProcessor")] public string ScriptProcessor { get; set; } /// - /// Command-line arguments to be passed to the script processor. + /// Gets or sets command-line arguments to be passed to the script + /// processor. /// [JsonProperty(PropertyName = "arguments")] public string Arguments { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostName.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostName.cs index 60c1a93eb259..7bae736c83e2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostName.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostName.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Details of a hostname derived from a domain + /// Details of a hostname derived from a domain. /// public partial class HostName { @@ -29,6 +29,21 @@ public HostName() { } /// /// Initializes a new instance of the HostName class. /// + /// Name of the hostname. + /// List of apps the hostname is assigned to. + /// This list will have more than one app only if the hostname is + /// pointing to a Traffic Manager. + /// Name of the Azure resource the + /// hostname is assigned to. If it is assigned to a Traffic Manager + /// then it will be the Traffic Manager name otherwise it will be the + /// app name. + /// Type of the Azure resource the + /// hostname is assigned to. Possible values include: 'Website', + /// 'TrafficManager' + /// Type of the DNS record. + /// Possible values include: 'CName', 'A' + /// Type of the hostname. Possible values + /// include: 'Verified', 'Managed' public HostName(string name = default(string), IList siteNames = default(IList), string azureResourceName = default(string), AzureResourceType? azureResourceType = default(AzureResourceType?), CustomHostNameDnsRecordType? customHostNameDnsRecordType = default(CustomHostNameDnsRecordType?), HostNameType? hostNameType = default(HostNameType?)) { Name = name; @@ -40,46 +55,48 @@ public HostName() { } } /// - /// Name of the hostname + /// Gets or sets name of the hostname. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// List of sites the hostname is assigned to. This list will have - /// more than one site only if the hostname is pointing to a Traffic - /// Manager + /// Gets or sets list of apps the hostname is assigned to. This list + /// will have more than one app only if the hostname is pointing to a + /// Traffic Manager. /// [JsonProperty(PropertyName = "siteNames")] public IList SiteNames { get; set; } /// - /// Name of the Azure resource the hostname is assigned to. If it is - /// assigned to a traffic manager then it will be the traffic manager - /// name otherwise it will be the website name + /// Gets or sets name of the Azure resource the hostname is assigned + /// to. If it is assigned to a Traffic Manager then it will be the + /// Traffic Manager name otherwise it will be the app name. /// [JsonProperty(PropertyName = "azureResourceName")] public string AzureResourceName { get; set; } /// - /// Type of the Azure resource the hostname is assigned to. Possible - /// values include: 'Website', 'TrafficManager' + /// Gets or sets type of the Azure resource the hostname is assigned + /// to. Possible values include: 'Website', 'TrafficManager' /// [JsonProperty(PropertyName = "azureResourceType")] public AzureResourceType? AzureResourceType { get; set; } /// - /// Type of the Dns record. Possible values include: 'CName', 'A' + /// Gets or sets type of the DNS record. Possible values include: + /// 'CName', 'A' /// [JsonProperty(PropertyName = "customHostNameDnsRecordType")] public CustomHostNameDnsRecordType? CustomHostNameDnsRecordType { get; set; } /// - /// Type of the hostname. Possible values include: 'Verified', - /// 'Managed' + /// Gets or sets type of the hostname. Possible values include: + /// 'Verified', 'Managed' /// [JsonProperty(PropertyName = "hostNameType")] public HostNameType? HostNameType { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameBinding.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameBinding.cs index 0e4a8623326e..063c1bfd87b8 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameBinding.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameBinding.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// A host name binding object + /// A hostname binding object. /// [JsonTransformation] public partial class HostNameBinding : Resource @@ -30,8 +32,30 @@ public HostNameBinding() { } /// /// Initializes a new instance of the HostNameBinding class. /// - public HostNameBinding(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string hostNameBindingName = default(string), string siteName = default(string), string domainId = default(string), string azureResourceName = default(string), AzureResourceType? azureResourceType = default(AzureResourceType?), CustomHostNameDnsRecordType? customHostNameDnsRecordType = default(CustomHostNameDnsRecordType?), HostNameType? hostNameType = default(HostNameType?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Hostname. + /// App Service app name. + /// Fully qualified ARM domain resource + /// URI. + /// Azure resource name. + /// Azure resource type. Possible + /// values include: 'Website', 'TrafficManager' + /// Custom DNS record type. + /// Possible values include: 'CName', 'A' + /// Hostname type. Possible values include: + /// 'Verified', 'Managed' + /// SSL type. Possible values include: + /// 'Disabled', 'SniEnabled', 'IpBasedEnabled' + /// SSL certificate thumbprint + /// Virtual IP address assigned to the hostname + /// if IP based SSL is enabled. + public HostNameBinding(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string hostNameBindingName = default(string), string siteName = default(string), string domainId = default(string), string azureResourceName = default(string), AzureResourceType? azureResourceType = default(AzureResourceType?), CustomHostNameDnsRecordType? customHostNameDnsRecordType = default(CustomHostNameDnsRecordType?), HostNameType? hostNameType = default(HostNameType?), SslState? sslState = default(SslState?), string thumbprint = default(string), string virtualIP = default(string)) + : base(location, id, name, kind, type, tags) { HostNameBindingName = hostNameBindingName; SiteName = siteName; @@ -40,57 +64,86 @@ public HostNameBinding() { } AzureResourceType = azureResourceType; CustomHostNameDnsRecordType = customHostNameDnsRecordType; HostNameType = hostNameType; + SslState = sslState; + Thumbprint = thumbprint; + VirtualIP = virtualIP; } /// - /// Hostname + /// Gets or sets hostname. /// [JsonProperty(PropertyName = "properties.name")] public string HostNameBindingName { get; set; } /// - /// Web app name + /// Gets or sets app Service app name. /// [JsonProperty(PropertyName = "properties.siteName")] public string SiteName { get; set; } /// - /// Fully qualified ARM domain resource URI + /// Gets or sets fully qualified ARM domain resource URI. /// [JsonProperty(PropertyName = "properties.domainId")] public string DomainId { get; set; } /// - /// Azure resource name + /// Gets or sets azure resource name. /// [JsonProperty(PropertyName = "properties.azureResourceName")] public string AzureResourceName { get; set; } /// - /// Azure resource type. Possible values include: 'Website', - /// 'TrafficManager' + /// Gets or sets azure resource type. Possible values include: + /// 'Website', 'TrafficManager' /// [JsonProperty(PropertyName = "properties.azureResourceType")] public AzureResourceType? AzureResourceType { get; set; } /// - /// Custom DNS record type. Possible values include: 'CName', 'A' + /// Gets or sets custom DNS record type. Possible values include: + /// 'CName', 'A' /// [JsonProperty(PropertyName = "properties.customHostNameDnsRecordType")] public CustomHostNameDnsRecordType? CustomHostNameDnsRecordType { get; set; } /// - /// Host name type. Possible values include: 'Verified', 'Managed' + /// Gets or sets hostname type. Possible values include: 'Verified', + /// 'Managed' /// [JsonProperty(PropertyName = "properties.hostNameType")] public HostNameType? HostNameType { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Gets or sets SSL type. Possible values include: 'Disabled', + /// 'SniEnabled', 'IpBasedEnabled' + /// + [JsonProperty(PropertyName = "properties.sslState")] + public SslState? SslState { get; set; } + + /// + /// Gets or sets SSL certificate thumbprint /// + [JsonProperty(PropertyName = "properties.thumbprint")] + public string Thumbprint { get; set; } + + /// + /// Gets or sets virtual IP address assigned to the hostname if IP + /// based SSL is enabled. + /// + [JsonProperty(PropertyName = "properties.virtualIP")] + public string VirtualIP { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameSslState.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameSslState.cs index 9008fada344c..e25304a0a075 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameSslState.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameSslState.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Object that represents a SSL-enabled host name. + /// SSL-enabled hostname. /// public partial class HostNameSslState { @@ -29,7 +27,15 @@ public HostNameSslState() { } /// /// Initializes a new instance of the HostNameSslState class. /// - public HostNameSslState(SslState sslState, string name = default(string), string virtualIP = default(string), string thumbprint = default(string), bool? toUpdate = default(bool?)) + /// Hostname. + /// SSL type. Possible values include: + /// 'Disabled', 'SniEnabled', 'IpBasedEnabled' + /// Virtual IP address assigned to the hostname + /// if IP based SSL is enabled. + /// SSL certificate thumbprint. + /// Set to <code>true</code> to + /// update existing hostname. + public HostNameSslState(string name = default(string), SslState? sslState = default(SslState?), string virtualIP = default(string), string thumbprint = default(string), bool? toUpdate = default(bool?)) { Name = name; SslState = sslState; @@ -39,42 +45,38 @@ public HostNameSslState() { } } /// - /// Host name + /// Gets or sets hostname. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// SSL type. Possible values include: 'Disabled', 'SniEnabled', - /// 'IpBasedEnabled' + /// Gets or sets SSL type. Possible values include: 'Disabled', + /// 'SniEnabled', 'IpBasedEnabled' /// [JsonProperty(PropertyName = "sslState")] - public SslState SslState { get; set; } + public SslState? SslState { get; set; } /// - /// Virtual IP address assigned to the host name if IP based SSL is - /// enabled + /// Gets or sets virtual IP address assigned to the hostname if IP + /// based SSL is enabled. /// [JsonProperty(PropertyName = "virtualIP")] public string VirtualIP { get; set; } /// - /// SSL cert thumbprint + /// Gets or sets SSL certificate thumbprint. /// [JsonProperty(PropertyName = "thumbprint")] public string Thumbprint { get; set; } /// - /// Set this flag to update existing host name + /// Gets or sets set to &lt;code&gt;true&lt;/code&gt; + /// to update existing hostname. /// [JsonProperty(PropertyName = "toUpdate")] public bool? ToUpdate { get; set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public virtual void Validate() - { - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameType.cs index 26a4e502273f..1bad7d327260 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameType.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostNameType.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for HostNameType. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum HostNameType { [EnumMember(Value = "Verified")] @@ -24,3 +28,4 @@ public enum HostNameType Managed } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentDiagnostics.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentDiagnostics.cs index 86a78ddb254a..febab633c26c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentDiagnostics.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentDiagnostics.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Diagnostics for a hosting environment (App Service Environment) + /// Diagnostics for an App Service Environment. /// public partial class HostingEnvironmentDiagnostics { @@ -31,6 +29,8 @@ public HostingEnvironmentDiagnostics() { } /// Initializes a new instance of the HostingEnvironmentDiagnostics /// class. /// + /// Name/identifier of the diagnostics. + /// Diagnostics output. public HostingEnvironmentDiagnostics(string name = default(string), string diagnosicsOutput = default(string)) { Name = name; @@ -38,16 +38,17 @@ public HostingEnvironmentDiagnostics() { } } /// - /// Name/identifier of the diagnostics + /// Gets or sets name/identifier of the diagnostics. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Diagnostics output + /// Gets or sets diagnostics output. /// [JsonProperty(PropertyName = "diagnosicsOutput")] public string DiagnosicsOutput { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentProfile.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentProfile.cs index d268da372678..a36d71cffaca 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentProfile.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentProfile.cs @@ -1,24 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Specification for a hostingEnvironment (App Service Environment) to - /// use for this resource + /// Specification for an App Service Environment to use for this resource. /// public partial class HostingEnvironmentProfile { @@ -30,6 +27,11 @@ public HostingEnvironmentProfile() { } /// /// Initializes a new instance of the HostingEnvironmentProfile class. /// + /// Resource ID of the App Service + /// Environment. + /// Name of the App Service Environment. + /// Resource type of the App Service + /// Environment. public HostingEnvironmentProfile(string id = default(string), string name = default(string), string type = default(string)) { Id = id; @@ -38,24 +40,23 @@ public HostingEnvironmentProfile() { } } /// - /// Resource id of the hostingEnvironment (App Service Environment) + /// Gets or sets resource ID of the App Service Environment. /// [JsonProperty(PropertyName = "id")] public string Id { get; set; } /// - /// Name of the hostingEnvironment (App Service Environment) (read - /// only) + /// Gets name of the App Service Environment. /// [JsonProperty(PropertyName = "name")] - public string Name { get; set; } + public string Name { get; protected set; } /// - /// Resource type of the hostingEnvironment (App Service Environment) - /// (read only) + /// Gets resource type of the App Service Environment. /// [JsonProperty(PropertyName = "type")] - public string Type { get; set; } + public string Type { get; protected set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentStatus.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentStatus.cs index 8507840bc3b9..a63dc28ec36b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentStatus.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HostingEnvironmentStatus.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for HostingEnvironmentStatus. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum HostingEnvironmentStatus { [EnumMember(Value = "Preparing")] @@ -28,3 +32,4 @@ public enum HostingEnvironmentStatus Deleting } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HttpLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HttpLogsConfig.cs index 75605cc1ad01..35aab067198f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HttpLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HttpLogsConfig.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Http logs configuration + /// Http logs configuration. /// public partial class HttpLogsConfig { @@ -29,6 +27,10 @@ public HttpLogsConfig() { } /// /// Initializes a new instance of the HttpLogsConfig class. /// + /// Http logs to file system + /// configuration. + /// Http logs to azure blob storage + /// configuration. public HttpLogsConfig(FileSystemHttpLogsConfig fileSystem = default(FileSystemHttpLogsConfig), AzureBlobStorageHttpLogsConfig azureBlobStorage = default(AzureBlobStorageHttpLogsConfig)) { FileSystem = fileSystem; @@ -36,16 +38,30 @@ public HttpLogsConfig() { } } /// - /// Http logs to file system configuration + /// Gets or sets http logs to file system configuration. /// [JsonProperty(PropertyName = "fileSystem")] public FileSystemHttpLogsConfig FileSystem { get; set; } /// - /// Http logs to azure blob storage configuration + /// Gets or sets http logs to azure blob storage configuration. /// [JsonProperty(PropertyName = "azureBlobStorage")] public AzureBlobStorageHttpLogsConfig AzureBlobStorage { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FileSystem != null) + { + FileSystem.Validate(); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnection.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnection.cs index 1e8d9d363c0b..601f07a235f2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnection.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnection.cs @@ -1,20 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// /// Hybrid Connection contract. This is used to configure a Hybrid @@ -31,8 +33,28 @@ public HybridConnection() { } /// /// Initializes a new instance of the HybridConnection class. /// - public HybridConnection(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string serviceBusNamespace = default(string), string relayName = default(string), string relayArmUri = default(string), string hostname = default(string), int? port = default(int?), string sendKeyName = default(string), string sendKeyValue = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The name of the Service Bus + /// namespace. + /// The name of the Service Bus relay. + /// The ARM URI to the Service Bus + /// relay. + /// The hostname of the endpoint. + /// The port of the endpoint. + /// The name of the Service Bus key which has + /// Send permissions. This is used to authenticate to Service + /// Bus. + /// The value of the Service Bus key. This + /// is used to authenticate to Service Bus. In ARM this key will not be + /// returned + /// normally, use the POST /listKeys API instead. + public HybridConnection(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string serviceBusNamespace = default(string), string relayName = default(string), string relayArmUri = default(string), string hostname = default(string), int? port = default(int?), string sendKeyName = default(string), string sendKeyValue = default(string)) + : base(location, id, name, kind, type, tags) { ServiceBusNamespace = serviceBusNamespace; RelayName = relayName; @@ -44,56 +66,60 @@ public HybridConnection() { } } /// - /// The name of the Service Bus Namespace. + /// Gets or sets the name of the Service Bus namespace. /// [JsonProperty(PropertyName = "properties.serviceBusNamespace")] public string ServiceBusNamespace { get; set; } /// - /// The name of the Service Bus Relay. + /// Gets or sets the name of the Service Bus relay. /// [JsonProperty(PropertyName = "properties.relayName")] public string RelayName { get; set; } /// - /// The ARM URI to the Service Bus Relay. + /// Gets or sets the ARM URI to the Service Bus relay. /// [JsonProperty(PropertyName = "properties.relayArmUri")] public string RelayArmUri { get; set; } /// - /// The hostname of the endpoint. + /// Gets or sets the hostname of the endpoint. /// [JsonProperty(PropertyName = "properties.hostname")] public string Hostname { get; set; } /// - /// The port of the endpoint. + /// Gets or sets the port of the endpoint. /// [JsonProperty(PropertyName = "properties.port")] public int? Port { get; set; } /// - /// The name of the Service Bus key which has Send permissions. This - /// is used to authenticate to Service Bus. + /// Gets or sets the name of the Service Bus key which has Send + /// permissions. This is used to authenticate to Service Bus. /// [JsonProperty(PropertyName = "properties.sendKeyName")] public string SendKeyName { get; set; } /// - /// The value of the Service Bus key. This is used to authenticate to - /// Service Bus. In ARM this key will not be returned + /// Gets or sets the value of the Service Bus key. This is used to + /// authenticate to Service Bus. In ARM this key will not be returned /// normally, use the POST /listKeys API instead. /// [JsonProperty(PropertyName = "properties.sendKeyValue")] public string SendKeyValue { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnectionKey.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnectionKey.cs index 07a225eba60c..2e8e146624ee 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnectionKey.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnectionKey.cs @@ -1,20 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// /// Hybrid Connection key contract. This has the send key name and value @@ -31,31 +33,43 @@ public HybridConnectionKey() { } /// /// Initializes a new instance of the HybridConnectionKey class. /// - public HybridConnectionKey(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string sendKeyName = default(string), string sendKeyValue = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The name of the send key. + /// The value of the send key. + public HybridConnectionKey(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string sendKeyName = default(string), string sendKeyValue = default(string)) + : base(location, id, name, kind, type, tags) { SendKeyName = sendKeyName; SendKeyValue = sendKeyValue; } /// - /// The name of the send key + /// Gets the name of the send key. /// [JsonProperty(PropertyName = "properties.sendKeyName")] - public string SendKeyName { get; set; } + public string SendKeyName { get; protected set; } /// - /// The value of the send key + /// Gets the value of the send key. /// [JsonProperty(PropertyName = "properties.sendKeyValue")] - public string SendKeyValue { get; set; } + public string SendKeyValue { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnectionLimits.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnectionLimits.cs new file mode 100644 index 000000000000..3021f960253b --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/HybridConnectionLimits.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Hybrid Connection limits contract. This is used to return the plan + /// limits of Hybrid Connections. + /// + [JsonTransformation] + public partial class HybridConnectionLimits : Resource + { + /// + /// Initializes a new instance of the HybridConnectionLimits class. + /// + public HybridConnectionLimits() { } + + /// + /// Initializes a new instance of the HybridConnectionLimits class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The current number of Hybrid + /// Connections. + /// The maximum number of Hybrid Connections + /// allowed. + public HybridConnectionLimits(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? current = default(int?), int? maximum = default(int?)) + : base(location, id, name, kind, type, tags) + { + Current = current; + Maximum = maximum; + } + + /// + /// Gets the current number of Hybrid Connections. + /// + [JsonProperty(PropertyName = "properties.current")] + public int? Current { get; protected set; } + + /// + /// Gets the maximum number of Hybrid Connections allowed. + /// + [JsonProperty(PropertyName = "properties.maximum")] + public int? Maximum { get; protected set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Identifier.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Identifier.cs new file mode 100644 index 000000000000..8d104427e1fb --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Identifier.cs @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Identifier. + /// + [JsonTransformation] + public partial class Identifier : Resource + { + /// + /// Initializes a new instance of the Identifier class. + /// + public Identifier() { } + + /// + /// Initializes a new instance of the Identifier class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// ID. + public Identifier(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string identifierId = default(string)) + : base(location, id, name, kind, type, tags) + { + IdentifierId = identifierId; + } + + /// + /// Gets or sets ID. + /// + [JsonProperty(PropertyName = "properties.id")] + public string IdentifierId { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/InAvailabilityReasonType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/InAvailabilityReasonType.cs new file mode 100644 index 000000000000..a5beaa5a96ad --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/InAvailabilityReasonType.cs @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + + /// + /// Defines values for InAvailabilityReasonType. + /// + public static class InAvailabilityReasonType + { + public const string Invalid = "Invalid"; + public const string AlreadyExists = "AlreadyExists"; + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/InternalLoadBalancingMode.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/InternalLoadBalancingMode.cs index c9be96cc1ede..3257363649b1 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/InternalLoadBalancingMode.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/InternalLoadBalancingMode.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for InternalLoadBalancingMode. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum InternalLoadBalancingMode { [EnumMember(Value = "None")] @@ -26,3 +30,4 @@ public enum InternalLoadBalancingMode Publishing } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/IpSecurityRestriction.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/IpSecurityRestriction.cs index c5bcfce2b55a..aea5286d7220 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/IpSecurityRestriction.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/IpSecurityRestriction.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Represents an ip security restriction on a web app. + /// IP security restriction on an app. /// public partial class IpSecurityRestriction { @@ -29,6 +28,10 @@ public IpSecurityRestriction() { } /// /// Initializes a new instance of the IpSecurityRestriction class. /// + /// IP address the security restriction is + /// valid for. + /// Subnet mask for the range of IP addresses + /// the restriction is valid for. public IpSecurityRestriction(string ipAddress, string subnetMask = default(string)) { IpAddress = ipAddress; @@ -36,21 +39,24 @@ public IpSecurityRestriction() { } } /// - /// IP address the security restriction is valid for + /// Gets or sets IP address the security restriction is valid for. /// [JsonProperty(PropertyName = "ipAddress")] public string IpAddress { get; set; } /// - /// Subnet mask for the range of IP addresses the restriction is valid - /// for + /// Gets or sets subnet mask for the range of IP addresses the + /// restriction is valid for. /// [JsonProperty(PropertyName = "subnetMask")] public string SubnetMask { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public virtual void Validate() { if (IpAddress == null) @@ -60,3 +66,4 @@ public virtual void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/KeyVaultSecretStatus.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/KeyVaultSecretStatus.cs index 76db02e76310..68c37b8f69e7 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/KeyVaultSecretStatus.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/KeyVaultSecretStatus.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for KeyVaultSecretStatus. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum KeyVaultSecretStatus { [EnumMember(Value = "Initialized")] @@ -42,3 +46,4 @@ public enum KeyVaultSecretStatus Unknown } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LocalizableString.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LocalizableString.cs index c14599effda6..94ee56f5e589 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LocalizableString.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LocalizableString.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// LocalizableString object containing the name and a localized value. + /// Localizable string object containing the name and a localized value. /// public partial class LocalizableString { @@ -29,6 +27,8 @@ public LocalizableString() { } /// /// Initializes a new instance of the LocalizableString class. /// + /// Non-localized name. + /// Localized name. public LocalizableString(string value = default(string), string localizedValue = default(string)) { Value = value; @@ -36,16 +36,17 @@ public LocalizableString() { } } /// - /// Non localized name + /// Gets or sets non-localized name. /// [JsonProperty(PropertyName = "value")] public string Value { get; set; } /// - /// Localized name + /// Gets or sets localized name. /// [JsonProperty(PropertyName = "localizedValue")] public string LocalizedValue { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LogLevel.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LogLevel.cs index 73bb8810d29c..52a9a4a9af8b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LogLevel.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/LogLevel.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for LogLevel. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum LogLevel { [EnumMember(Value = "Off")] @@ -30,3 +34,4 @@ public enum LogLevel Error } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ManagedPipelineMode.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ManagedPipelineMode.cs index c1797896fad4..273a96d28d38 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ManagedPipelineMode.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ManagedPipelineMode.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for ManagedPipelineMode. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum ManagedPipelineMode { [EnumMember(Value = "Integrated")] @@ -24,3 +28,4 @@ public enum ManagedPipelineMode Classic } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricAvailabilily.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricAvailabilily.cs index 510f48d02572..7cb0c5868a67 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricAvailabilily.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricAvailabilily.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Class repesenting metrics availability and retention + /// Metric availability and retention. /// public partial class MetricAvailabilily { @@ -29,6 +27,9 @@ public MetricAvailabilily() { } /// /// Initializes a new instance of the MetricAvailabilily class. /// + /// Time grain. + /// Retention period for the current time + /// grain. public MetricAvailabilily(string timeGrain = default(string), string retention = default(string)) { TimeGrain = timeGrain; @@ -36,17 +37,17 @@ public MetricAvailabilily() { } } /// - /// Time grain + /// Gets or sets time grain. /// [JsonProperty(PropertyName = "timeGrain")] public string TimeGrain { get; set; } /// - /// Retention period for the current - /// {Microsoft.Web.Hosting.Administration.MetricAvailabilily.TimeGrain} + /// Gets or sets retention period for the current time grain. /// [JsonProperty(PropertyName = "retention")] public string Retention { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricDefinition.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricDefinition.cs index cd3781cafbe3..5a8924b5e419 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricDefinition.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MetricDefinition.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class repesenting metadata for the metrics + /// Metadata for a metric. /// [JsonTransformation] public partial class MetricDefinition : Resource @@ -30,8 +32,21 @@ public MetricDefinition() { } /// /// Initializes a new instance of the MetricDefinition class. /// - public MetricDefinition(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string metricDefinitionName = default(string), string unit = default(string), string primaryAggregationType = default(string), IList metricAvailabilities = default(IList), string displayName = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name of the metric. + /// Unit of the metric. + /// Primary aggregation + /// type. + /// List of time grains supported + /// for the metric together with retention period. + /// Friendly name shown in the UI. + public MetricDefinition(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string metricDefinitionName = default(string), string unit = default(string), string primaryAggregationType = default(string), IList metricAvailabilities = default(IList), string displayName = default(string)) + : base(location, id, name, kind, type, tags) { MetricDefinitionName = metricDefinitionName; Unit = unit; @@ -41,42 +56,46 @@ public MetricDefinition() { } } /// - /// Name of the metric + /// Gets name of the metric. /// [JsonProperty(PropertyName = "properties.name")] - public string MetricDefinitionName { get; set; } + public string MetricDefinitionName { get; protected set; } /// - /// Unit of the metric + /// Gets unit of the metric. /// [JsonProperty(PropertyName = "properties.unit")] - public string Unit { get; set; } + public string Unit { get; protected set; } /// - /// Primary aggregation type + /// Gets primary aggregation type. /// [JsonProperty(PropertyName = "properties.primaryAggregationType")] - public string PrimaryAggregationType { get; set; } + public string PrimaryAggregationType { get; protected set; } /// - /// List of time grains supported for the metric together with - /// retention period + /// Gets list of time grains supported for the metric together with + /// retention period. /// [JsonProperty(PropertyName = "properties.metricAvailabilities")] - public IList MetricAvailabilities { get; set; } + public IList MetricAvailabilities { get; protected set; } /// - /// Friendly name shown in the UI + /// Gets friendly name shown in the UI. /// [JsonProperty(PropertyName = "properties.displayName")] - public string DisplayName { get; set; } + public string DisplayName { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MigrateMySqlRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MigrateMySqlRequest.cs index b53faf7df68a..ffc2a5a7dfb8 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MigrateMySqlRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/MigrateMySqlRequest.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Description of a MySql migration request + /// MySQL migration request. /// [JsonTransformation] public partial class MigrateMySqlRequest : Resource @@ -30,25 +32,37 @@ public MigrateMySqlRequest() { } /// /// Initializes a new instance of the MigrateMySqlRequest class. /// - public MigrateMySqlRequest(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string connectionString = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Connection string to the remote + /// MySQL database to which data should be migrated. + public MigrateMySqlRequest(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string connectionString = default(string)) + : base(location, id, name, kind, type, tags) { ConnectionString = connectionString; } /// - /// Connection string to the remote MySql database to which data - /// should be migrated + /// Gets or sets connection string to the remote MySQL database to + /// which data should be migrated. /// [JsonProperty(PropertyName = "properties.connectionString")] public string ConnectionString { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameIdentifier.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameIdentifier.cs index deea2c31aa7e..9c881da25f41 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameIdentifier.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameIdentifier.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Identifies an object + /// Identifies an object. /// public partial class NameIdentifier { @@ -29,16 +27,18 @@ public NameIdentifier() { } /// /// Initializes a new instance of the NameIdentifier class. /// + /// Name of the object. public NameIdentifier(string name = default(string)) { Name = name; } /// - /// Name of the object + /// Gets or sets name of the object. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameValuePair.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameValuePair.cs index e962a57e2b72..3b200e31b64d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameValuePair.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NameValuePair.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Name value pair + /// Name value pair. /// public partial class NameValuePair { @@ -29,6 +27,8 @@ public NameValuePair() { } /// /// Initializes a new instance of the NameValuePair class. /// + /// Pair name. + /// Pair value. public NameValuePair(string name = default(string), string value = default(string)) { Name = name; @@ -36,16 +36,17 @@ public NameValuePair() { } } /// - /// Pair name + /// Gets or sets pair name. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Pair value + /// Gets or sets pair value. /// [JsonProperty(PropertyName = "value")] public string Value { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkAccessControlEntry.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkAccessControlEntry.cs index 9ac2f098e7ae..67fcee35412f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkAccessControlEntry.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkAccessControlEntry.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Network Access control entry + /// Network access control entry. /// public partial class NetworkAccessControlEntry { @@ -29,6 +27,11 @@ public NetworkAccessControlEntry() { } /// /// Initializes a new instance of the NetworkAccessControlEntry class. /// + /// Action object. Possible values include: + /// 'Permit', 'Deny' + /// Description. + /// Order of precedence. + /// Remote subnet. public NetworkAccessControlEntry(AccessControlEntryAction? action = default(AccessControlEntryAction?), string description = default(string), int? order = default(int?), string remoteSubnet = default(string)) { Action = action; @@ -38,25 +41,30 @@ public NetworkAccessControlEntry() { } } /// - /// Possible values include: 'Permit', 'Deny' + /// Gets or sets action object. Possible values include: 'Permit', + /// 'Deny' /// [JsonProperty(PropertyName = "action")] public AccessControlEntryAction? Action { get; set; } /// + /// Gets or sets description. /// [JsonProperty(PropertyName = "description")] public string Description { get; set; } /// + /// Gets or sets order of precedence. /// [JsonProperty(PropertyName = "order")] public int? Order { get; set; } /// + /// Gets or sets remote subnet. /// [JsonProperty(PropertyName = "remoteSubnet")] public string RemoteSubnet { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkFeatures.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkFeatures.cs index 796f0135b17a..dd924c1ab36a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkFeatures.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NetworkFeatures.cs @@ -1,25 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// This is an object used to store a full view of network features - /// (presently VNET integration and Hybrid Connections) - /// for a web app. + /// Full view of network features for an app (presently VNET integration + /// and Hybrid Connections). /// [JsonTransformation] public partial class NetworkFeatures : Resource @@ -32,8 +33,21 @@ public NetworkFeatures() { } /// /// Initializes a new instance of the NetworkFeatures class. /// - public NetworkFeatures(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string virtualNetworkName = default(string), VnetInfo virtualNetworkConnection = default(VnetInfo), IList hybridConnections = default(IList), IList hybridConnectionsV2 = default(IList)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The Virtual Network name. + /// The Virtual Network summary + /// view. + /// The Hybrid Connections summary + /// view. + /// The Hybrid Connection V2 (Service + /// Bus) view. + public NetworkFeatures(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string virtualNetworkName = default(string), VnetInfo virtualNetworkConnection = default(VnetInfo), IList hybridConnections = default(IList), IList hybridConnectionsV2 = default(IList)) + : base(location, id, name, kind, type, tags) { VirtualNetworkName = virtualNetworkName; VirtualNetworkConnection = virtualNetworkConnection; @@ -42,42 +56,45 @@ public NetworkFeatures() { } } /// - /// The Vnet Name + /// Gets the Virtual Network name. /// [JsonProperty(PropertyName = "properties.virtualNetworkName")] - public string VirtualNetworkName { get; set; } + public string VirtualNetworkName { get; protected set; } /// - /// The Vnet Summary view + /// Gets the Virtual Network summary view. /// [JsonProperty(PropertyName = "properties.virtualNetworkConnection")] - public VnetInfo VirtualNetworkConnection { get; set; } + public VnetInfo VirtualNetworkConnection { get; protected set; } /// - /// The Hybrid Connections Summary view + /// Gets the Hybrid Connections summary view. /// [JsonProperty(PropertyName = "properties.hybridConnections")] - public IList HybridConnections { get; set; } + public IList HybridConnections { get; protected set; } /// - /// The Hybrid Connection V2 (service bus) view + /// Gets the Hybrid Connection V2 (Service Bus) view. /// [JsonProperty(PropertyName = "properties.hybridConnectionsV2")] - public IList HybridConnectionsV2 { get; set; } + public IList HybridConnectionsV2 { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.VirtualNetworkConnection != null) + if (VirtualNetworkConnection != null) { - this.VirtualNetworkConnection.Validate(); + VirtualNetworkConnection.Validate(); } - if (this.HybridConnections != null) + if (HybridConnections != null) { - foreach (var element in this.HybridConnections) + foreach (var element in HybridConnections) { if (element != null) { @@ -85,9 +102,9 @@ public override void Validate() } } } - if (this.HybridConnectionsV2 != null) + if (HybridConnectionsV2 != null) { - foreach (var element1 in this.HybridConnectionsV2) + foreach (var element1 in HybridConnectionsV2) { if (element1 != null) { @@ -98,3 +115,4 @@ public override void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NotificationLevel.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NotificationLevel.cs index abfc4aeac3bc..81c731f1b17d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NotificationLevel.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/NotificationLevel.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for NotificationLevel. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum NotificationLevel { [EnumMember(Value = "Critical")] @@ -28,3 +32,4 @@ public enum NotificationLevel NonUrgentSuggestion } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Operation.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Operation.cs index 718a568f1f2b..fe81a763ea70 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Operation.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Operation.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class that represents an operation. + /// Operation. /// public partial class Operation { @@ -29,7 +29,21 @@ public Operation() { } /// /// Initializes a new instance of the Operation class. /// - public Operation(OperationStatus status, string id = default(string), string name = default(string), IList errors = default(IList), DateTime? createdTime = default(DateTime?), DateTime? modifiedTime = default(DateTime?), DateTime? expirationTime = default(DateTime?), string geoMasterOperationId = default(string)) + /// Operation ID. + /// Operation name. + /// The current status of the operation. Possible + /// values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', + /// 'Created' + /// Any errors associate with the + /// operation. + /// Time when operation has started. + /// Time when operation has been + /// updated. + /// Time when operation will + /// expire. + /// Applicable only for stamp + /// operation ids. + public Operation(string id = default(string), string name = default(string), OperationStatus? status = default(OperationStatus?), IList errors = default(IList), System.DateTime? createdTime = default(System.DateTime?), System.DateTime? modifiedTime = default(System.DateTime?), System.DateTime? expirationTime = default(System.DateTime?), string geoMasterOperationId = default(string)) { Id = id; Name = name; @@ -42,59 +56,54 @@ public Operation() { } } /// - /// Operation Id + /// Gets or sets operation ID. /// [JsonProperty(PropertyName = "id")] public string Id { get; set; } /// - /// Operation Name + /// Gets or sets operation name. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// The current status of the operation. Possible values include: - /// 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + /// Gets or sets the current status of the operation. Possible values + /// include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' /// [JsonProperty(PropertyName = "status")] - public OperationStatus Status { get; set; } + public OperationStatus? Status { get; set; } /// - /// Any errors associate with the operation + /// Gets or sets any errors associate with the operation. /// [JsonProperty(PropertyName = "errors")] public IList Errors { get; set; } /// - /// Time when operation has started + /// Gets or sets time when operation has started. /// [JsonProperty(PropertyName = "createdTime")] - public DateTime? CreatedTime { get; set; } + public System.DateTime? CreatedTime { get; set; } /// - /// Time when operation has been updated + /// Gets or sets time when operation has been updated. /// [JsonProperty(PropertyName = "modifiedTime")] - public DateTime? ModifiedTime { get; set; } + public System.DateTime? ModifiedTime { get; set; } /// - /// Time when operation will expire + /// Gets or sets time when operation will expire. /// [JsonProperty(PropertyName = "expirationTime")] - public DateTime? ExpirationTime { get; set; } + public System.DateTime? ExpirationTime { get; set; } /// - /// Applicable only for stamp operation ids. + /// Gets or sets applicable only for stamp operation ids. /// [JsonProperty(PropertyName = "geoMasterOperationId")] public string GeoMasterOperationId { get; set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public virtual void Validate() - { - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/OperationStatus.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/OperationStatus.cs index 687ecc20f70a..4b9545fc74c6 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/OperationStatus.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/OperationStatus.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for OperationStatus. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum OperationStatus { [EnumMember(Value = "InProgress")] @@ -30,3 +34,4 @@ public enum OperationStatus Created } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Page.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Page.cs index b8513f2342b2..267c72ca4988 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Page.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Page.cs @@ -1,17 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System.Collections.Generic; - using System.Linq; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Azure; using Newtonsoft.Json; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; /// /// Defines a page in Azure responses. @@ -35,16 +39,17 @@ public class Page : IPage /// A an enumerator that can be used to iterate through the collection. public IEnumerator GetEnumerator() { - return (Items == null) ? Enumerable.Empty().GetEnumerator() : Items.GetEnumerator(); + return Items == null ? System.Linq.Enumerable.Empty().GetEnumerator() : Items.GetEnumerator(); } /// /// Returns an enumerator that iterates through the collection. /// /// A an enumerator that can be used to iterate through the collection. - System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() + IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonResponse.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonResponse.cs index e35b06dac5e9..61ecd8c39c1d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonResponse.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonResponse.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Represents the perf monitor api reponse + /// Performance monitor API response. /// public partial class PerfMonResponse { @@ -29,6 +27,9 @@ public PerfMonResponse() { } /// /// Initializes a new instance of the PerfMonResponse class. /// + /// The response code. + /// The message. + /// The performance monitor counters. public PerfMonResponse(string code = default(string), string message = default(string), PerfMonSet data = default(PerfMonSet)) { Code = code; @@ -49,10 +50,11 @@ public PerfMonResponse() { } public string Message { get; set; } /// - /// Gets or sets the perf mon counters. + /// Gets or sets the performance monitor counters. /// [JsonProperty(PropertyName = "data")] public PerfMonSet Data { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSample.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSample.cs index 048a1917f212..a69b35261212 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSample.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSample.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Class representing a Perf Mon Sample + /// Performance monitor sample in a set. /// public partial class PerfMonSample { @@ -29,7 +27,12 @@ public PerfMonSample() { } /// /// Initializes a new instance of the PerfMonSample class. /// - public PerfMonSample(DateTime? time = default(DateTime?), string instanceName = default(string), double? value = default(double?)) + /// Point in time for which counter was + /// measured. + /// Name of the server on which the + /// measurement is made. + /// Value of counter at a certain time. + public PerfMonSample(System.DateTime? time = default(System.DateTime?), string instanceName = default(string), double? value = default(double?)) { Time = time; InstanceName = instanceName; @@ -37,22 +40,23 @@ public PerfMonSample() { } } /// - /// Point in time for which counter was measured + /// Gets or sets point in time for which counter was measured. /// [JsonProperty(PropertyName = "time")] - public DateTime? Time { get; set; } + public System.DateTime? Time { get; set; } /// - /// Name of the server on which the measurement is made + /// Gets or sets name of the server on which the measurement is made. /// [JsonProperty(PropertyName = "instanceName")] public string InstanceName { get; set; } /// - /// Value of Counter at certain time + /// Gets or sets value of counter at a certain time. /// [JsonProperty(PropertyName = "value")] public double? Value { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSet.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSet.cs index 12b106aee1db..09a639d594e1 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSet.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PerfMonSet.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class containing metric information + /// Metric information. /// public partial class PerfMonSet { @@ -29,7 +29,13 @@ public PerfMonSet() { } /// /// Initializes a new instance of the PerfMonSet class. /// - public PerfMonSet(string name = default(string), DateTime? startTime = default(DateTime?), DateTime? endTime = default(DateTime?), string timeGrain = default(string), IList values = default(IList)) + /// Unique key name of the counter. + /// Start time of the period. + /// End time of the period. + /// Presented time grain. + /// Collection of workers that are active during + /// this time. + public PerfMonSet(string name = default(string), System.DateTime? startTime = default(System.DateTime?), System.DateTime? endTime = default(System.DateTime?), string timeGrain = default(string), IList values = default(IList)) { Name = name; StartTime = startTime; @@ -39,34 +45,36 @@ public PerfMonSet() { } } /// - /// Unique key name of the counter + /// Gets or sets unique key name of the counter. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Start time of the period + /// Gets or sets start time of the period. /// [JsonProperty(PropertyName = "startTime")] - public DateTime? StartTime { get; set; } + public System.DateTime? StartTime { get; set; } /// - /// End time of the period + /// Gets or sets end time of the period. /// [JsonProperty(PropertyName = "endTime")] - public DateTime? EndTime { get; set; } + public System.DateTime? EndTime { get; set; } /// - /// Presented time grain + /// Gets or sets presented time grain. /// [JsonProperty(PropertyName = "timeGrain")] public string TimeGrain { get; set; } /// - /// Collection of workers that are active during this time + /// Gets or sets collection of workers that are active during this + /// time. /// [JsonProperty(PropertyName = "values")] public IList Values { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOn.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOn.cs new file mode 100644 index 000000000000..a489c615e805 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOn.cs @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Premier add-on. + /// + [JsonTransformation] + public partial class PremierAddOn : Resource + { + /// + /// Initializes a new instance of the PremierAddOn class. + /// + public PremierAddOn() { } + + /// + /// Initializes a new instance of the PremierAddOn class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// SKU. + /// Product. + /// Vendor. + /// Name. + /// Location. + /// Tags. + /// Marketplace publisher. + /// Marketplace offer. + public PremierAddOn(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string sku = default(string), string product = default(string), string vendor = default(string), string premierAddOnName = default(string), string premierAddOnLocation = default(string), IDictionary premierAddOnTags = default(IDictionary), string marketplacePublisher = default(string), string marketplaceOffer = default(string)) + : base(location, id, name, kind, type, tags) + { + Sku = sku; + Product = product; + Vendor = vendor; + PremierAddOnName = premierAddOnName; + PremierAddOnLocation = premierAddOnLocation; + PremierAddOnTags = premierAddOnTags; + MarketplacePublisher = marketplacePublisher; + MarketplaceOffer = marketplaceOffer; + } + + /// + /// Gets or sets SKU. + /// + [JsonProperty(PropertyName = "properties.sku")] + public string Sku { get; set; } + + /// + /// Gets or sets product. + /// + [JsonProperty(PropertyName = "properties.product")] + public string Product { get; set; } + + /// + /// Gets or sets vendor. + /// + [JsonProperty(PropertyName = "properties.vendor")] + public string Vendor { get; set; } + + /// + /// Gets or sets name. + /// + [JsonProperty(PropertyName = "properties.name")] + public string PremierAddOnName { get; set; } + + /// + /// Gets or sets location. + /// + [JsonProperty(PropertyName = "properties.location")] + public string PremierAddOnLocation { get; set; } + + /// + /// Gets or sets tags. + /// + [JsonProperty(PropertyName = "properties.tags")] + public IDictionary PremierAddOnTags { get; set; } + + /// + /// Gets or sets marketplace publisher. + /// + [JsonProperty(PropertyName = "properties.marketplacePublisher")] + public string MarketplacePublisher { get; set; } + + /// + /// Gets or sets marketplace offer. + /// + [JsonProperty(PropertyName = "properties.marketplaceOffer")] + public string MarketplaceOffer { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOnOffer.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOnOffer.cs new file mode 100644 index 000000000000..bf945b0b72c3 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOnOffer.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Premier add-on offer. + /// + [JsonTransformation] + public partial class PremierAddOnOffer : Resource + { + /// + /// Initializes a new instance of the PremierAddOnOffer class. + /// + public PremierAddOnOffer() { } + + /// + /// Initializes a new instance of the PremierAddOnOffer class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// SKU. + /// Product. + /// Vendor. + /// Name. + /// <code>true</code> if + /// promotion code is required; otherwise, + /// <code>false</code>. + /// Quota. + /// App Service plans this + /// offer is restricted to. Possible values include: 'None', 'Free', + /// 'Shared', 'Basic', 'Standard', 'Premium' + /// Privacy policy URL. + /// Legal terms URL. + /// Marketplace publisher. + /// Marketplace offer. + public PremierAddOnOffer(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string sku = default(string), string product = default(string), string vendor = default(string), string premierAddOnOfferName = default(string), bool? promoCodeRequired = default(bool?), int? quota = default(int?), AppServicePlanRestrictions? webHostingPlanRestrictions = default(AppServicePlanRestrictions?), string privacyPolicyUrl = default(string), string legalTermsUrl = default(string), string marketplacePublisher = default(string), string marketplaceOffer = default(string)) + : base(location, id, name, kind, type, tags) + { + Sku = sku; + Product = product; + Vendor = vendor; + PremierAddOnOfferName = premierAddOnOfferName; + PromoCodeRequired = promoCodeRequired; + Quota = quota; + WebHostingPlanRestrictions = webHostingPlanRestrictions; + PrivacyPolicyUrl = privacyPolicyUrl; + LegalTermsUrl = legalTermsUrl; + MarketplacePublisher = marketplacePublisher; + MarketplaceOffer = marketplaceOffer; + } + + /// + /// Gets or sets SKU. + /// + [JsonProperty(PropertyName = "properties.sku")] + public string Sku { get; set; } + + /// + /// Gets or sets product. + /// + [JsonProperty(PropertyName = "properties.product")] + public string Product { get; set; } + + /// + /// Gets or sets vendor. + /// + [JsonProperty(PropertyName = "properties.vendor")] + public string Vendor { get; set; } + + /// + /// Gets or sets name. + /// + [JsonProperty(PropertyName = "properties.name")] + public string PremierAddOnOfferName { get; set; } + + /// + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// promotion code is required; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. + /// + [JsonProperty(PropertyName = "properties.promoCodeRequired")] + public bool? PromoCodeRequired { get; set; } + + /// + /// Gets or sets quota. + /// + [JsonProperty(PropertyName = "properties.quota")] + public int? Quota { get; set; } + + /// + /// Gets or sets app Service plans this offer is restricted to. + /// Possible values include: 'None', 'Free', 'Shared', 'Basic', + /// 'Standard', 'Premium' + /// + [JsonProperty(PropertyName = "properties.webHostingPlanRestrictions")] + public AppServicePlanRestrictions? WebHostingPlanRestrictions { get; set; } + + /// + /// Gets or sets privacy policy URL. + /// + [JsonProperty(PropertyName = "properties.privacyPolicyUrl")] + public string PrivacyPolicyUrl { get; set; } + + /// + /// Gets or sets legal terms URL. + /// + [JsonProperty(PropertyName = "properties.legalTermsUrl")] + public string LegalTermsUrl { get; set; } + + /// + /// Gets or sets marketplace publisher. + /// + [JsonProperty(PropertyName = "properties.marketplacePublisher")] + public string MarketplacePublisher { get; set; } + + /// + /// Gets or sets marketplace offer. + /// + [JsonProperty(PropertyName = "properties.marketplaceOffer")] + public string MarketplaceOffer { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOnRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOnRequest.cs deleted file mode 100644 index f78452e2b378..000000000000 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PremierAddOnRequest.cs +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. - -namespace Microsoft.Azure.Management.WebSites.Models -{ - using System; - using System.Linq; - using System.Collections.Generic; - using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; - - /// - /// Request representing premier add-on - /// - public partial class PremierAddOnRequest - { - /// - /// Initializes a new instance of the PremierAddOnRequest class. - /// - public PremierAddOnRequest() { } - - /// - /// Initializes a new instance of the PremierAddOnRequest class. - /// - public PremierAddOnRequest(string location = default(string), IDictionary tags = default(IDictionary), ArmPlan plan = default(ArmPlan), object properties = default(object), SkuDescription sku = default(SkuDescription)) - { - Location = location; - Tags = tags; - Plan = plan; - Properties = properties; - Sku = sku; - } - - /// - /// Geo region resource belongs to e.g. SouthCentralUS, SouthEastAsia - /// - [JsonProperty(PropertyName = "location")] - public string Location { get; set; } - - /// - /// Tags associated with resource - /// - [JsonProperty(PropertyName = "tags")] - public IDictionary Tags { get; set; } - - /// - /// Azure resource manager plan - /// - [JsonProperty(PropertyName = "plan")] - public ArmPlan Plan { get; set; } - - /// - /// Resource specific properties - /// - [JsonProperty(PropertyName = "properties")] - public object Properties { get; set; } - - /// - /// Sku description of the resource - /// - [JsonProperty(PropertyName = "sku")] - public SkuDescription Sku { get; set; } - - } -} diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ProvisioningState.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ProvisioningState.cs index 7b43dd9fa078..a1e405de76e2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ProvisioningState.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ProvisioningState.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for ProvisioningState. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum ProvisioningState { [EnumMember(Value = "Succeeded")] @@ -30,3 +34,4 @@ public enum ProvisioningState Deleting } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PublishingProfileFormat.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PublishingProfileFormat.cs new file mode 100644 index 000000000000..be6a2f0ef575 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PublishingProfileFormat.cs @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + + /// + /// Defines values for PublishingProfileFormat. + /// + public static class PublishingProfileFormat + { + public const string FileZilla3 = "FileZilla3"; + public const string WebDeploy = "WebDeploy"; + public const string Ftp = "Ftp"; + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PushSettings.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PushSettings.cs index 9465d62c761a..9432aa901f1e 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PushSettings.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/PushSettings.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Push settings for the Web App. + /// Push settings for the App. /// public partial class PushSettings { @@ -29,7 +27,21 @@ public PushSettings() { } /// /// Initializes a new instance of the PushSettings class. /// - public PushSettings(bool? isPushEnabled = default(bool?), string tagWhitelistJson = default(string), string tagsRequiringAuth = default(string), string dynamicTagsJson = default(string)) + /// Gets or sets a flag indicating whether + /// the Push endpoint is enabled. + /// Gets or sets a JSON string + /// containing a list of tags that are whitelisted for use by the push + /// registration endpoint. + /// Gets or sets a JSON string + /// containing a list of tags that require user authentication to be + /// used in the push registration endpoint. + /// Tags can consist of alphanumeric characters and the following: + /// '_', '@', '#', '.', ':', '-'. + /// Validation should be performed at the PushRequestHandler. + /// Gets or sets a JSON string containing + /// a list of dynamic tags that will be evaluated from user claims in + /// the push registration endpoint. + public PushSettings(bool isPushEnabled, string tagWhitelistJson = default(string), string tagsRequiringAuth = default(string), string dynamicTagsJson = default(string)) { IsPushEnabled = isPushEnabled; TagWhitelistJson = tagWhitelistJson; @@ -42,7 +54,7 @@ public PushSettings() { } /// enabled. /// [JsonProperty(PropertyName = "isPushEnabled")] - public bool? IsPushEnabled { get; set; } + public bool IsPushEnabled { get; set; } /// /// Gets or sets a JSON string containing a list of tags that are @@ -54,6 +66,9 @@ public PushSettings() { } /// /// Gets or sets a JSON string containing a list of tags that require /// user authentication to be used in the push registration endpoint. + /// Tags can consist of alphanumeric characters and the following: + /// '_', '@', '#', '.', ':', '-'. + /// Validation should be performed at the PushRequestHandler. /// [JsonProperty(PropertyName = "tagsRequiringAuth")] public string TagsRequiringAuth { get; set; } @@ -66,5 +81,16 @@ public PushSettings() { } [JsonProperty(PropertyName = "dynamicTagsJson")] public string DynamicTagsJson { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + //Nothing to validate + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RampUpRule.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RampUpRule.cs index 076e237cab41..6070bc274b52 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RampUpRule.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RampUpRule.cs @@ -1,25 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// /// Routing rules for ramp up testing. This rule allows to redirect static /// traffic % to a slot or to gradually change routing % based on - /// performance + /// performance. /// public partial class RampUpRule { @@ -31,6 +29,36 @@ public RampUpRule() { } /// /// Initializes a new instance of the RampUpRule class. /// + /// Hostname of a slot to which the + /// traffic will be redirected if decided to. E.g. + /// myapp-stage.azurewebsites.net. + /// Percentage of the traffic which + /// will be redirected to + /// <code>ActionHostName</code>. + /// In auto ramp up scenario this is the step + /// to to add/remove from <code>ReroutePercentage</code> + /// until it reaches + /// <code>MinReroutePercentage</code> or + /// <code>MaxReroutePercentage</code>. Site metrics are + /// checked every N minutes specificed in + /// <code>ChangeIntervalInMinutes</code>. + /// Custom decision algorithm can be provided in TiPCallback site + /// extension which URL can be specified in + /// <code>ChangeDecisionCallbackUrl</code>. + /// Specifies interval in + /// mimuntes to reevaluate ReroutePercentage. + /// Specifies lower boundary above + /// which ReroutePercentage will stay. + /// Specifies upper boundary below + /// which ReroutePercentage will stay. + /// Custom decision algorithm + /// can be provided in TiPCallback site extension which URL can be + /// specified. See TiPCallback site extension for the scaffold and + /// contracts. + /// https://www.siteextensions.net/packages/TiPCallback/ + /// Name of the routing rule. The recommended name + /// would be to point to the slot which will receive the traffic in the + /// experiment. public RampUpRule(string actionHostName = default(string), double? reroutePercentage = default(double?), double? changeStep = default(double?), int? changeIntervalInMinutes = default(int?), double? minReroutePercentage = default(double?), double? maxReroutePercentage = default(double?), string changeDecisionCallbackUrl = default(string), string name = default(string)) { ActionHostName = actionHostName; @@ -44,72 +72,73 @@ public RampUpRule() { } } /// - /// Hostname of a slot to which the traffic will be redirected if - /// decided to. E.g. mysite-stage.azurewebsites.net + /// Gets or sets hostname of a slot to which the traffic will be + /// redirected if decided to. E.g. myapp-stage.azurewebsites.net. /// [JsonProperty(PropertyName = "actionHostName")] public string ActionHostName { get; set; } /// - /// Percentage of the traffic which will be redirected to - /// {Microsoft.Web.Hosting.Administration.RampUpRule.ActionHostName} + /// Gets or sets percentage of the traffic which will be redirected to + /// &lt;code&gt;ActionHostName&lt;/code&gt;. /// [JsonProperty(PropertyName = "reroutePercentage")] public double? ReroutePercentage { get; set; } /// - /// [Optional] In auto ramp up scenario this is the step to to + /// Gets or sets in auto ramp up scenario this is the step to to /// add/remove from - /// {Microsoft.Web.Hosting.Administration.RampUpRule.ReroutePercentage} - /// until it reaches - /// {Microsoft.Web.Hosting.Administration.RampUpRule.MinReroutePercentage} - /// or - /// {Microsoft.Web.Hosting.Administration.RampUpRule.MaxReroutePercentage}. - /// Site metrics are checked every N minutes specificed in - /// {Microsoft.Web.Hosting.Administration.RampUpRule.ChangeIntervalInMinutes}. - /// Custom decision algorithm can be provided in - /// TiPCallback site extension which Url can be specified in - /// {Microsoft.Web.Hosting.Administration.RampUpRule.ChangeDecisionCallbackUrl} + /// &lt;code&gt;ReroutePercentage&lt;/code&gt; until it + /// reaches + /// &lt;code&gt;MinReroutePercentage&lt;/code&gt; or + /// &lt;code&gt;MaxReroutePercentage&lt;/code&gt;. Site + /// metrics are checked every N minutes specificed in + /// &lt;code&gt;ChangeIntervalInMinutes&lt;/code&gt;. + /// Custom decision algorithm can be provided in TiPCallback site + /// extension which URL can be specified in + /// &lt;code&gt;ChangeDecisionCallbackUrl&lt;/code&gt;. /// [JsonProperty(PropertyName = "changeStep")] public double? ChangeStep { get; set; } /// - /// [Optional] Specifies interval in mimuntes to reevaluate - /// ReroutePercentage + /// Gets or sets specifies interval in mimuntes to reevaluate + /// ReroutePercentage. /// [JsonProperty(PropertyName = "changeIntervalInMinutes")] public int? ChangeIntervalInMinutes { get; set; } /// - /// [Optional] Specifies lower boundary above which ReroutePercentage + /// Gets or sets specifies lower boundary above which ReroutePercentage /// will stay. /// [JsonProperty(PropertyName = "minReroutePercentage")] public double? MinReroutePercentage { get; set; } /// - /// [Optional] Specifies upper boundary below which ReroutePercentage + /// Gets or sets specifies upper boundary below which ReroutePercentage /// will stay. /// [JsonProperty(PropertyName = "maxReroutePercentage")] public double? MaxReroutePercentage { get; set; } /// - /// Custom decision algorithm can be provided in TiPCallback site - /// extension which Url can be specified. See TiPCallback site - /// extension for the scaffold and contracts. + /// Gets or sets custom decision algorithm can be provided in + /// TiPCallback site extension which URL can be specified. See + /// TiPCallback site extension for the scaffold and contracts. /// https://www.siteextensions.net/packages/TiPCallback/ /// [JsonProperty(PropertyName = "changeDecisionCallbackUrl")] public string ChangeDecisionCallbackUrl { get; set; } /// - /// Name of the routing rule. The recommended name would be to point - /// to the slot which will receive the traffic in the experiment. + /// Gets or sets name of the routing rule. The recommended name would + /// be to point to the slot which will receive the traffic in the + /// experiment. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Recommendation.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Recommendation.cs index b985ceefd39f..618249f628f9 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Recommendation.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Recommendation.cs @@ -1,24 +1,24 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// /// Represents a recommendation result generated by the recommendation - /// engine + /// engine. /// public partial class Recommendation { @@ -30,7 +30,44 @@ public Recommendation() { } /// /// Initializes a new instance of the Recommendation class. /// - public Recommendation(NotificationLevel level, Channels channels, DateTime? creationTime = default(DateTime?), string recommendationId = default(string), string resourceId = default(string), string resourceScope = default(string), string ruleName = default(string), string displayName = default(string), string message = default(string), IList tags = default(IList), string actionName = default(string), int? enabled = default(int?), DateTime? startTime = default(DateTime?), DateTime? endTime = default(DateTime?), DateTime? nextNotificationTime = default(DateTime?), DateTime? notificationExpirationTime = default(DateTime?), DateTime? notifiedTime = default(DateTime?), double? score = default(double?)) + /// Timestamp when this instance was + /// created. + /// A GUID value that each + /// recommendation object is associated with. + /// Full ARM resource ID string that this + /// recommendation object is associated with. + /// Name of a resource type this + /// recommendation applies, e.g. Subscription, ServerFarm, Site. + /// Possible values include: 'ServerFarm', 'Subscription', + /// 'WebSite' + /// Unique name of the rule. + /// UI friendly name of the rule (may not be + /// unique). + /// Recommendation text. + /// Level indicating how critical this + /// recommendation can impact. Possible values include: 'Critical', + /// 'Warning', 'Information', 'NonUrgentSuggestion' + /// List of channels that this recommendation + /// can apply. Possible values include: 'Notification', 'Api', 'Email', + /// 'Webhook', 'All' + /// The list of category tags that this + /// recommendation belongs to. + /// Name of action recommended by this + /// object. + /// The beginning time in UTC of a range that + /// the recommendation refers to. + /// The end time in UTC of a range that the + /// recommendation refers to. + /// When to notify this + /// recommendation next in UTC. Null means that this will never be + /// notified anymore. + /// Date and time in UTC when + /// this notification expires. + /// Last timestamp in UTC this instance was + /// actually notified. Null means that this recommendation hasn't been + /// notified yet. + /// A metric value measured by the rule. + public Recommendation(System.DateTime? creationTime = default(System.DateTime?), string recommendationId = default(string), string resourceId = default(string), string resourceScope = default(string), string ruleName = default(string), string displayName = default(string), string message = default(string), NotificationLevel? level = default(NotificationLevel?), Channels? channels = default(Channels?), IList tags = default(IList), string actionName = default(string), System.DateTime? startTime = default(System.DateTime?), System.DateTime? endTime = default(System.DateTime?), System.DateTime? nextNotificationTime = default(System.DateTime?), System.DateTime? notificationExpirationTime = default(System.DateTime?), System.DateTime? notifiedTime = default(System.DateTime?), double? score = default(double?)) { CreationTime = creationTime; RecommendationId = recommendationId; @@ -43,7 +80,6 @@ public Recommendation() { } Channels = channels; Tags = tags; ActionName = actionName; - Enabled = enabled; StartTime = startTime; EndTime = endTime; NextNotificationTime = nextNotificationTime; @@ -53,125 +89,121 @@ public Recommendation() { } } /// - /// Timestamp when this instance was created. + /// Gets or sets timestamp when this instance was created. /// [JsonProperty(PropertyName = "creationTime")] - public DateTime? CreationTime { get; set; } + public System.DateTime? CreationTime { get; set; } /// - /// A GUID value that each recommendation object is associated with. + /// Gets or sets a GUID value that each recommendation object is + /// associated with. /// [JsonProperty(PropertyName = "recommendationId")] public string RecommendationId { get; set; } /// - /// Full ARM resource ID string that this recommendation object is - /// associated with. + /// Gets or sets full ARM resource ID string that this recommendation + /// object is associated with. /// [JsonProperty(PropertyName = "resourceId")] public string ResourceId { get; set; } /// - /// Name of a resource type this recommendation applies, e.g. - /// Subscription, ServerFarm, Site. + /// Gets or sets name of a resource type this recommendation applies, + /// e.g. Subscription, ServerFarm, Site. Possible values include: + /// 'ServerFarm', 'Subscription', 'WebSite' /// [JsonProperty(PropertyName = "resourceScope")] public string ResourceScope { get; set; } /// - /// Unique name of the rule + /// Gets or sets unique name of the rule. /// [JsonProperty(PropertyName = "ruleName")] public string RuleName { get; set; } /// - /// UI friendly name of the rule (may not be unique) + /// Gets or sets UI friendly name of the rule (may not be unique). /// [JsonProperty(PropertyName = "displayName")] public string DisplayName { get; set; } /// - /// Localized text of recommendation, good for UI. + /// Gets or sets recommendation text. /// [JsonProperty(PropertyName = "message")] public string Message { get; set; } /// - /// Level indicating how critical this recommendation can impact. - /// Possible values include: 'Critical', 'Warning', 'Information', - /// 'NonUrgentSuggestion' + /// Gets or sets level indicating how critical this recommendation can + /// impact. Possible values include: 'Critical', 'Warning', + /// 'Information', 'NonUrgentSuggestion' /// [JsonProperty(PropertyName = "level")] - public NotificationLevel Level { get; set; } + public NotificationLevel? Level { get; set; } /// - /// List of channels that this recommendation can apply. Possible - /// values include: 'Notification', 'Api', 'Email', 'All' + /// Gets or sets list of channels that this recommendation can apply. + /// Possible values include: 'Notification', 'Api', 'Email', 'Webhook', + /// 'All' /// [JsonProperty(PropertyName = "channels")] - public Channels Channels { get; set; } + public Channels? Channels { get; set; } /// - /// The list of category tags that this recommendation belongs to. + /// Gets or sets the list of category tags that this recommendation + /// belongs to. /// [JsonProperty(PropertyName = "tags")] public IList Tags { get; set; } /// - /// Name of action recommended by this object. + /// Gets or sets name of action recommended by this object. /// [JsonProperty(PropertyName = "actionName")] public string ActionName { get; set; } /// - /// On/off flag indicating the rule is currently enabled or disabled. - /// - [JsonProperty(PropertyName = "enabled")] - public int? Enabled { get; set; } - - /// - /// The beginning time of a range that the recommendation refers to. + /// Gets or sets the beginning time in UTC of a range that the + /// recommendation refers to. /// [JsonProperty(PropertyName = "startTime")] - public DateTime? StartTime { get; set; } + public System.DateTime? StartTime { get; set; } /// - /// The end time of a range that the recommendation refers to. + /// Gets or sets the end time in UTC of a range that the recommendation + /// refers to. /// [JsonProperty(PropertyName = "endTime")] - public DateTime? EndTime { get; set; } + public System.DateTime? EndTime { get; set; } /// - /// When to notify this recommendation next. Null means that this will - /// never be notified anymore. + /// Gets or sets when to notify this recommendation next in UTC. Null + /// means that this will never be notified anymore. /// [JsonProperty(PropertyName = "nextNotificationTime")] - public DateTime? NextNotificationTime { get; set; } + public System.DateTime? NextNotificationTime { get; set; } /// - /// Date and time when this notification expires. + /// Gets or sets date and time in UTC when this notification expires. /// [JsonProperty(PropertyName = "notificationExpirationTime")] - public DateTime? NotificationExpirationTime { get; set; } + public System.DateTime? NotificationExpirationTime { get; set; } /// - /// Last timestamp this instance was actually notified. Null means - /// that this recommendation hasn't been notified yet. + /// Gets or sets last timestamp in UTC this instance was actually + /// notified. Null means that this recommendation hasn't been notified + /// yet. /// [JsonProperty(PropertyName = "notifiedTime")] - public DateTime? NotifiedTime { get; set; } + public System.DateTime? NotifiedTime { get; set; } /// - /// A metric value measured by the rule. + /// Gets or sets a metric value measured by the rule. /// [JsonProperty(PropertyName = "score")] public double? Score { get; set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public virtual void Validate() - { - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecommendationRule.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecommendationRule.cs index bd610cb633b1..fb483c661f8e 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecommendationRule.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecommendationRule.cs @@ -1,24 +1,24 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// /// Represents a recommendation rule that the recommendation engine can - /// perform + /// perform. /// public partial class RecommendationRule { @@ -30,7 +30,26 @@ public RecommendationRule() { } /// /// Initializes a new instance of the RecommendationRule class. /// - public RecommendationRule(NotificationLevel level, Channels channels, string name = default(string), string displayName = default(string), string message = default(string), string recommendationId = default(string), string description = default(string), string actionName = default(string), int? enabled = default(int?), IList tags = default(IList)) + /// Unique name of the rule. + /// UI friendly name of the rule. + /// Localized name of the rule (Good for + /// UI). + /// Recommendation ID of an associated + /// recommendation object tied to the rule, if exists. + /// If such an object doesn't exist, it is set to null. + /// Localized detailed description of the + /// rule. + /// Name of action that is recommended by this + /// rule in string. + /// Level of impact indicating how critical this + /// rule is. Possible values include: 'Critical', 'Warning', + /// 'Information', 'NonUrgentSuggestion' + /// List of available channels that this rule + /// applies. Possible values include: 'Notification', 'Api', 'Email', + /// 'Webhook', 'All' + /// An array of category tags that the rule + /// contains. + public RecommendationRule(string name = default(string), string displayName = default(string), string message = default(string), System.Guid? recommendationId = default(System.Guid?), string description = default(string), string actionName = default(string), NotificationLevel? level = default(NotificationLevel?), Channels? channels = default(Channels?), IList tags = default(IList)) { Name = name; DisplayName = displayName; @@ -38,82 +57,72 @@ public RecommendationRule() { } RecommendationId = recommendationId; Description = description; ActionName = actionName; - Enabled = enabled; Level = level; Channels = channels; Tags = tags; } /// - /// Unique name of the rule + /// Gets or sets unique name of the rule. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// UI friendly name of the rule + /// Gets or sets UI friendly name of the rule. /// [JsonProperty(PropertyName = "displayName")] public string DisplayName { get; set; } /// - /// Localized name of the rule (Good for UI) + /// Gets or sets localized name of the rule (Good for UI). /// [JsonProperty(PropertyName = "message")] public string Message { get; set; } /// - /// Recommendation ID of an associated recommendation object tied to - /// the rule, if exists. + /// Gets or sets recommendation ID of an associated recommendation + /// object tied to the rule, if exists. /// If such an object doesn't exist, it is set to null. /// [JsonProperty(PropertyName = "recommendationId")] - public string RecommendationId { get; set; } + public System.Guid? RecommendationId { get; set; } /// - /// Localized detailed description of the rule + /// Gets or sets localized detailed description of the rule. /// [JsonProperty(PropertyName = "description")] public string Description { get; set; } /// - /// Name of action that is recommended by this rule in string + /// Gets or sets name of action that is recommended by this rule in + /// string. /// [JsonProperty(PropertyName = "actionName")] public string ActionName { get; set; } /// - /// On/off flag indicating the rule is currently enabled or disabled. - /// - [JsonProperty(PropertyName = "enabled")] - public int? Enabled { get; set; } - - /// - /// Level of impact indicating how critical this rule is. Possible - /// values include: 'Critical', 'Warning', 'Information', + /// Gets or sets level of impact indicating how critical this rule is. + /// Possible values include: 'Critical', 'Warning', 'Information', /// 'NonUrgentSuggestion' /// [JsonProperty(PropertyName = "level")] - public NotificationLevel Level { get; set; } + public NotificationLevel? Level { get; set; } /// - /// List of available channels that this rule applies. Possible values - /// include: 'Notification', 'Api', 'Email', 'All' + /// Gets or sets list of available channels that this rule applies. + /// Possible values include: 'Notification', 'Api', 'Email', 'Webhook', + /// 'All' /// [JsonProperty(PropertyName = "channels")] - public Channels Channels { get; set; } + public Channels? Channels { get; set; } /// - /// An array of category tags that the rule contains. + /// Gets or sets an array of category tags that the rule contains. /// [JsonProperty(PropertyName = "tags")] public IList Tags { get; set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public virtual void Validate() - { - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecoverResponse.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecoverResponse.cs index 9b99a93acc1f..dfbee633c836 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecoverResponse.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RecoverResponse.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Response for a recover site request + /// Response for an app recovery request. /// [JsonTransformation] public partial class RecoverResponse : Resource @@ -30,25 +32,37 @@ public RecoverResponse() { } /// /// Initializes a new instance of the RecoverResponse class. /// - public RecoverResponse(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string operationId = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// ID of the recovery operation. Can be used + /// to check the status of the corresponding operation. + public RecoverResponse(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string operationId = default(string)) + : base(location, id, name, kind, type, tags) { OperationId = operationId; } /// - /// ID of the recovery operation. Can be used to check the status of - /// the corresponding operation. + /// Gets ID of the recovery operation. Can be used to check the status + /// of the corresponding operation. /// [JsonProperty(PropertyName = "properties.operationId")] - public string OperationId { get; set; } + public string OperationId { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ReissueCertificateOrderRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ReissueCertificateOrderRequest.cs index 92cac2f20c73..b0955c98d549 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ReissueCertificateOrderRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ReissueCertificateOrderRequest.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class representing certificate reissue request + /// Class representing certificate reissue request. /// [JsonTransformation] public partial class ReissueCertificateOrderRequest : Resource @@ -32,8 +34,21 @@ public ReissueCertificateOrderRequest() { } /// Initializes a new instance of the ReissueCertificateOrderRequest /// class. /// - public ReissueCertificateOrderRequest(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? keySize = default(int?), int? delayExistingRevokeInHours = default(int?), string csr = default(string), bool? isPrivateKeyExternal = default(bool?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Certificate Key Size. + /// Delay in hours to revoke + /// existing certificate after the new certificate is issued. + /// Csr to be used for re-key operation. + /// Should we change the ASC type + /// (from managed private key to external private key and vice + /// versa). + public ReissueCertificateOrderRequest(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? keySize = default(int?), int? delayExistingRevokeInHours = default(int?), string csr = default(string), bool? isPrivateKeyExternal = default(bool?)) + : base(location, id, name, kind, type, tags) { KeySize = keySize; DelayExistingRevokeInHours = delayExistingRevokeInHours; @@ -42,37 +57,41 @@ public ReissueCertificateOrderRequest() { } } /// - /// Certificate Key Size + /// Gets or sets certificate Key Size. /// [JsonProperty(PropertyName = "properties.keySize")] public int? KeySize { get; set; } /// - /// Delay in hours to revoke existing certificate after the new - /// certificate is issued + /// Gets or sets delay in hours to revoke existing certificate after + /// the new certificate is issued. /// [JsonProperty(PropertyName = "properties.delayExistingRevokeInHours")] public int? DelayExistingRevokeInHours { get; set; } /// - /// Csr to be used for re-key operation + /// Gets or sets csr to be used for re-key operation. /// [JsonProperty(PropertyName = "properties.csr")] public string Csr { get; set; } /// - /// Should we change the ASC type (from managed private key to - /// external private key and vice versa) + /// Gets or sets should we change the ASC type (from managed private + /// key to external private key and vice versa). /// [JsonProperty(PropertyName = "properties.isPrivateKeyExternal")] public bool? IsPrivateKeyExternal { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RelayServiceConnectionEntity.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RelayServiceConnectionEntity.cs index 346878d5fdfe..754a3cd2d441 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RelayServiceConnectionEntity.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RelayServiceConnectionEntity.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class that represents a Biztalk Hybrid Connection + /// Hybrid Connection for an App Service app. /// [JsonTransformation] public partial class RelayServiceConnectionEntity : Resource @@ -32,8 +34,14 @@ public RelayServiceConnectionEntity() { } /// Initializes a new instance of the RelayServiceConnectionEntity /// class. /// - public RelayServiceConnectionEntity(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string entityName = default(string), string entityConnectionString = default(string), string resourceType = default(string), string resourceConnectionString = default(string), string hostname = default(string), int? port = default(int?), string biztalkUri = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + public RelayServiceConnectionEntity(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string entityName = default(string), string entityConnectionString = default(string), string resourceType = default(string), string resourceConnectionString = default(string), string hostname = default(string), int? port = default(int?), string biztalkUri = default(string)) + : base(location, id, name, kind, type, tags) { EntityName = entityName; EntityConnectionString = entityConnectionString; @@ -80,11 +88,15 @@ public RelayServiceConnectionEntity() { } public string BiztalkUri { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RenewCertificateOrderRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RenewCertificateOrderRequest.cs index 3be662006fed..6dac97da8149 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RenewCertificateOrderRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RenewCertificateOrderRequest.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class representing certificate renew request + /// Class representing certificate renew request. /// [JsonTransformation] public partial class RenewCertificateOrderRequest : Resource @@ -32,8 +34,19 @@ public RenewCertificateOrderRequest() { } /// Initializes a new instance of the RenewCertificateOrderRequest /// class. /// - public RenewCertificateOrderRequest(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? keySize = default(int?), string csr = default(string), bool? isPrivateKeyExternal = default(bool?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Certificate Key Size. + /// Csr to be used for re-key operation. + /// Should we change the ASC type + /// (from managed private key to external private key and vice + /// versa). + public RenewCertificateOrderRequest(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? keySize = default(int?), string csr = default(string), bool? isPrivateKeyExternal = default(bool?)) + : base(location, id, name, kind, type, tags) { KeySize = keySize; Csr = csr; @@ -41,30 +54,34 @@ public RenewCertificateOrderRequest() { } } /// - /// Certificate Key Size + /// Gets or sets certificate Key Size. /// [JsonProperty(PropertyName = "properties.keySize")] public int? KeySize { get; set; } /// - /// Csr to be used for re-key operation + /// Gets or sets csr to be used for re-key operation. /// [JsonProperty(PropertyName = "properties.csr")] public string Csr { get; set; } /// - /// Should we change the ASC type (from managed private key to - /// external private key and vice versa) + /// Gets or sets should we change the ASC type (from managed private + /// key to external private key and vice versa). /// [JsonProperty(PropertyName = "properties.isPrivateKeyExternal")] public bool? IsPrivateKeyExternal { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RequestsBasedTrigger.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RequestsBasedTrigger.cs index 86f15d7f31f6..88c4be9ddc0c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RequestsBasedTrigger.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RequestsBasedTrigger.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// RequestsBasedTrigger + /// Trigger based on total requests. /// public partial class RequestsBasedTrigger { @@ -29,6 +27,8 @@ public RequestsBasedTrigger() { } /// /// Initializes a new instance of the RequestsBasedTrigger class. /// + /// Count. + /// Time interval. public RequestsBasedTrigger(int? count = default(int?), string timeInterval = default(string)) { Count = count; @@ -36,16 +36,17 @@ public RequestsBasedTrigger() { } } /// - /// Count + /// Gets or sets count. /// [JsonProperty(PropertyName = "count")] public int? Count { get; set; } /// - /// TimeInterval + /// Gets or sets time interval. /// [JsonProperty(PropertyName = "timeInterval")] public string TimeInterval { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Resource.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Resource.cs index 7b362ff0050d..c24d39ed523d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Resource.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Resource.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Azure; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Azure resource + /// Azure resource. /// public partial class Resource : IResource { @@ -29,7 +31,13 @@ public Resource() { } /// /// Initializes a new instance of the Resource class. /// - public Resource(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary)) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + public Resource(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary)) { Id = id; Name = name; @@ -40,50 +48,49 @@ public Resource() { } } /// - /// Resource Id + /// Gets resource Id. /// [JsonProperty(PropertyName = "id")] - public string Id { get; private set; } + public string Id { get; protected set; } /// - /// Resource Name + /// Gets or sets resource Name. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Kind of resource + /// Gets or sets kind of resource. /// [JsonProperty(PropertyName = "kind")] public string Kind { get; set; } /// - /// Resource Location + /// Gets or sets resource Location. /// [JsonProperty(PropertyName = "location")] public string Location { get; set; } /// - /// Resource type + /// Gets or sets resource type. /// [JsonProperty(PropertyName = "type")] public string Type { get; set; } /// - /// Resource tags + /// Gets or sets resource tags. /// [JsonProperty(PropertyName = "tags")] public IDictionary Tags { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public virtual void Validate() { - if (Name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "Name"); - } if (Location == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Location"); @@ -91,3 +98,4 @@ public virtual void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetric.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetric.cs index 89fa432ca86c..49696ecb998a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetric.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetric.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Object representing a metric for any resource + /// Object representing a metric for any resource . /// public partial class ResourceMetric { @@ -29,7 +29,17 @@ public ResourceMetric() { } /// /// Initializes a new instance of the ResourceMetric class. /// - public ResourceMetric(ResourceMetricName name = default(ResourceMetricName), string unit = default(string), string timeGrain = default(string), DateTime? startTime = default(DateTime?), DateTime? endTime = default(DateTime?), string resourceId = default(string), string id = default(string), IList metricValues = default(IList), IList properties = default(IList)) + /// Name of metric. + /// Metric unit. + /// Metric granularity. E.g PT1H, PT5M, + /// P1D + /// Metric start time. + /// Metric end time. + /// Metric resource Id. + /// Resource Id. + /// Metric values. + /// Properties. + public ResourceMetric(ResourceMetricName name = default(ResourceMetricName), string unit = default(string), string timeGrain = default(string), System.DateTime? startTime = default(System.DateTime?), System.DateTime? endTime = default(System.DateTime?), string resourceId = default(string), string id = default(string), IList metricValues = default(IList), IList properties = default(IList)) { Name = name; Unit = unit; @@ -43,58 +53,59 @@ public ResourceMetric() { } } /// - /// Name of metric + /// Gets name of metric. /// [JsonProperty(PropertyName = "name")] - public ResourceMetricName Name { get; private set; } + public ResourceMetricName Name { get; protected set; } /// - /// Metric unit + /// Gets metric unit. /// [JsonProperty(PropertyName = "unit")] - public string Unit { get; private set; } + public string Unit { get; protected set; } /// - /// Metric granularity. E.g PT1H, PT5M, P1D + /// Gets metric granularity. E.g PT1H, PT5M, P1D /// [JsonProperty(PropertyName = "timeGrain")] - public string TimeGrain { get; private set; } + public string TimeGrain { get; protected set; } /// - /// Metric start time + /// Gets metric start time. /// [JsonProperty(PropertyName = "startTime")] - public DateTime? StartTime { get; private set; } + public System.DateTime? StartTime { get; protected set; } /// - /// Metric end time + /// Gets metric end time. /// [JsonProperty(PropertyName = "endTime")] - public DateTime? EndTime { get; private set; } + public System.DateTime? EndTime { get; protected set; } /// - /// Metric resource Id + /// Gets metric resource Id. /// [JsonProperty(PropertyName = "resourceId")] - public string ResourceId { get; private set; } + public string ResourceId { get; protected set; } /// - /// Resource Id + /// Gets resource Id. /// [JsonProperty(PropertyName = "id")] - public string Id { get; private set; } + public string Id { get; protected set; } /// - /// Metric values + /// Gets metric values. /// [JsonProperty(PropertyName = "metricValues")] - public IList MetricValues { get; private set; } + public IList MetricValues { get; protected set; } /// - /// Properties + /// Gets properties. /// [JsonProperty(PropertyName = "properties")] - public IList Properties { get; private set; } + public IList Properties { get; protected set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricAvailability.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricAvailability.cs new file mode 100644 index 000000000000..238a8f3d4c9e --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricAvailability.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Metrics availability and retention. + /// + public partial class ResourceMetricAvailability + { + /// + /// Initializes a new instance of the ResourceMetricAvailability class. + /// + public ResourceMetricAvailability() { } + + /// + /// Initializes a new instance of the ResourceMetricAvailability class. + /// + /// Time grain . + /// Retention period for the current time + /// grain. + public ResourceMetricAvailability(string timeGrain = default(string), string retention = default(string)) + { + TimeGrain = timeGrain; + Retention = retention; + } + + /// + /// Gets time grain . + /// + [JsonProperty(PropertyName = "timeGrain")] + public string TimeGrain { get; protected set; } + + /// + /// Gets retention period for the current time grain. + /// + [JsonProperty(PropertyName = "retention")] + public string Retention { get; protected set; } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricDefinition.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricDefinition.cs new file mode 100644 index 000000000000..6434830edde6 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricDefinition.cs @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Metadata for the metrics. + /// + [JsonTransformation] + public partial class ResourceMetricDefinition : Resource + { + /// + /// Initializes a new instance of the ResourceMetricDefinition class. + /// + public ResourceMetricDefinition() { } + + /// + /// Initializes a new instance of the ResourceMetricDefinition class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name of the + /// metric. + /// Unit of the metric. + /// Primary aggregation + /// type. + /// List of time grains supported + /// for the metric together with retention period. + /// Resource URI. + /// Resource ID. + /// Properties. + public ResourceMetricDefinition(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), ResourceMetricName resourceMetricDefinitionName = default(ResourceMetricName), string unit = default(string), string primaryAggregationType = default(string), IList metricAvailabilities = default(IList), string resourceUri = default(string), string resourceMetricDefinitionId = default(string), IDictionary properties = default(IDictionary)) + : base(location, id, name, kind, type, tags) + { + ResourceMetricDefinitionName = resourceMetricDefinitionName; + Unit = unit; + PrimaryAggregationType = primaryAggregationType; + MetricAvailabilities = metricAvailabilities; + ResourceUri = resourceUri; + ResourceMetricDefinitionId = resourceMetricDefinitionId; + Properties = properties; + } + + /// + /// Gets name of the metric. + /// + [JsonProperty(PropertyName = "properties.name")] + public ResourceMetricName ResourceMetricDefinitionName { get; protected set; } + + /// + /// Gets unit of the metric. + /// + [JsonProperty(PropertyName = "properties.unit")] + public string Unit { get; protected set; } + + /// + /// Gets primary aggregation type. + /// + [JsonProperty(PropertyName = "properties.primaryAggregationType")] + public string PrimaryAggregationType { get; protected set; } + + /// + /// Gets list of time grains supported for the metric together with + /// retention period. + /// + [JsonProperty(PropertyName = "properties.metricAvailabilities")] + public IList MetricAvailabilities { get; protected set; } + + /// + /// Gets resource URI. + /// + [JsonProperty(PropertyName = "properties.resourceUri")] + public string ResourceUri { get; protected set; } + + /// + /// Gets resource ID. + /// + [JsonProperty(PropertyName = "properties.id")] + public string ResourceMetricDefinitionId { get; protected set; } + + /// + /// Gets properties. + /// + [JsonProperty(PropertyName = "properties.properties")] + public IDictionary Properties { get; protected set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricName.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricName.cs index b614a5dd5cec..c1ce231847ea 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricName.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricName.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Name of a metric for any resource + /// Name of a metric for any resource . /// public partial class ResourceMetricName { @@ -29,6 +27,8 @@ public ResourceMetricName() { } /// /// Initializes a new instance of the ResourceMetricName class. /// + /// metric name value. + /// Localized metric name value. public ResourceMetricName(string value = default(string), string localizedValue = default(string)) { Value = value; @@ -36,16 +36,17 @@ public ResourceMetricName() { } } /// - /// metric name value + /// Gets metric name value. /// [JsonProperty(PropertyName = "value")] - public string Value { get; private set; } + public string Value { get; protected set; } /// - /// Localized metric name value + /// Gets localized metric name value. /// [JsonProperty(PropertyName = "localizedValue")] - public string LocalizedValue { get; private set; } + public string LocalizedValue { get; protected set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricProperty.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricProperty.cs index 0fdcfd785b7c..0b596e29b3da 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricProperty.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricProperty.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Resource metric property + /// Resource metric property. /// public partial class ResourceMetricProperty { @@ -29,6 +27,8 @@ public ResourceMetricProperty() { } /// /// Initializes a new instance of the ResourceMetricProperty class. /// + /// Key for resource metric property. + /// Value of pair. public ResourceMetricProperty(string key = default(string), string value = default(string)) { Key = key; @@ -36,16 +36,17 @@ public ResourceMetricProperty() { } } /// - /// Key for resource metric property + /// Gets or sets key for resource metric property. /// [JsonProperty(PropertyName = "key")] public string Key { get; set; } /// - /// Value of pair + /// Gets or sets value of pair. /// [JsonProperty(PropertyName = "value")] public string Value { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricValue.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricValue.cs index 008973edcc68..74168063623d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricValue.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceMetricValue.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Value of resource metric + /// Value of resource metric. /// public partial class ResourceMetricValue { @@ -29,6 +29,13 @@ public ResourceMetricValue() { } /// /// Initializes a new instance of the ResourceMetricValue class. /// + /// Value timestamp. + /// Value average. + /// Value minimum. + /// Value maximum. + /// Value total. + /// Value count. + /// Properties. public ResourceMetricValue(string timestamp = default(string), double? average = default(double?), double? minimum = default(double?), double? maximum = default(double?), double? total = default(double?), double? count = default(double?), IList properties = default(IList)) { Timestamp = timestamp; @@ -41,46 +48,47 @@ public ResourceMetricValue() { } } /// - /// Value timestamp + /// Gets value timestamp. /// [JsonProperty(PropertyName = "timestamp")] - public string Timestamp { get; private set; } + public string Timestamp { get; protected set; } /// - /// Value average + /// Gets value average. /// [JsonProperty(PropertyName = "average")] - public double? Average { get; private set; } + public double? Average { get; protected set; } /// - /// Value minimum + /// Gets value minimum. /// [JsonProperty(PropertyName = "minimum")] - public double? Minimum { get; private set; } + public double? Minimum { get; protected set; } /// - /// Value maximum + /// Gets value maximum. /// [JsonProperty(PropertyName = "maximum")] - public double? Maximum { get; private set; } + public double? Maximum { get; protected set; } /// - /// Value total + /// Gets value total. /// [JsonProperty(PropertyName = "total")] - public double? Total { get; private set; } + public double? Total { get; protected set; } /// - /// Value count + /// Gets value count. /// [JsonProperty(PropertyName = "count")] - public double? Count { get; private set; } + public double? Count { get; protected set; } /// - /// Properties + /// Gets properties. /// [JsonProperty(PropertyName = "properties")] - public IList Properties { get; private set; } + public IList Properties { get; protected set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailability.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailability.cs index 88d73f3932fd..7276da7d20db 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailability.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailability.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Describes if a resource name is available + /// Information regarding availbility of a resource name. /// public partial class ResourceNameAvailability { @@ -29,6 +27,19 @@ public ResourceNameAvailability() { } /// /// Initializes a new instance of the ResourceNameAvailability class. /// + /// <code>true</code> indicates + /// name is valid and available. <code>false</code> + /// indicates the name is invalid, unavailable, or both. + /// <code>Invalid</code> indicates the + /// name provided does not match Azure App Service naming requirements. + /// <code>AlreadyExists</code> indicates that the name is + /// already in use and is therefore unavailable. Possible values + /// include: 'Invalid', 'AlreadyExists' + /// If reason == invalid, provide the user with + /// the reason why the given name is invalid, and provide the resource + /// naming requirements so that the user can select a valid name. If + /// reason == AlreadyExists, explain that resource name is already in + /// use, and direct them to select a different name. public ResourceNameAvailability(bool? nameAvailable = default(bool?), string reason = default(string), string message = default(string)) { NameAvailable = nameAvailable; @@ -37,25 +48,35 @@ public ResourceNameAvailability() { } } /// - /// True indicates name is valid and available. False indicates the - /// name is invalid, unavailable, or both. + /// Gets or sets &lt;code&gt;true&lt;/code&gt; + /// indicates name is valid and available. + /// &lt;code&gt;false&lt;/code&gt; indicates the name + /// is invalid, unavailable, or both. /// [JsonProperty(PropertyName = "nameAvailable")] public bool? NameAvailable { get; set; } /// - /// Required if nameAvailable is false. 'Invalid' indicates the name - /// provided does not match Azure WebApp service’s naming - /// requirements. 'AlreadyExists' indicates that the name is already - /// in use and is therefore unavailable. + /// Gets or sets &lt;code&gt;Invalid&lt;/code&gt; + /// indicates the name provided does not match Azure App Service naming + /// requirements. + /// &lt;code&gt;AlreadyExists&lt;/code&gt; indicates + /// that the name is already in use and is therefore unavailable. + /// Possible values include: 'Invalid', 'AlreadyExists' /// [JsonProperty(PropertyName = "reason")] public string Reason { get; set; } /// + /// Gets or sets if reason == invalid, provide the user with the reason + /// why the given name is invalid, and provide the resource naming + /// requirements so that the user can select a valid name. If reason == + /// AlreadyExists, explain that resource name is already in use, and + /// direct them to select a different name. /// [JsonProperty(PropertyName = "message")] public string Message { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailabilityRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailabilityRequest.cs index 4b078e191b86..0bf8b66d60ad 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailabilityRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceNameAvailabilityRequest.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Resource name availability request content + /// Resource name availability request content. /// public partial class ResourceNameAvailabilityRequest { @@ -31,7 +30,11 @@ public ResourceNameAvailabilityRequest() { } /// Initializes a new instance of the ResourceNameAvailabilityRequest /// class. /// - public ResourceNameAvailabilityRequest(string name = default(string), string type = default(string), bool? isFqdn = default(bool?)) + /// Resource name to verify. + /// Resource type used for verification. Possible + /// values include: 'Site', 'Slot', 'HostingEnvironment' + /// Is fully qualified domain name. + public ResourceNameAvailabilityRequest(string name, string type, bool? isFqdn = default(bool?)) { Name = name; Type = type; @@ -39,23 +42,41 @@ public ResourceNameAvailabilityRequest() { } } /// - /// Resource name to verify + /// Gets or sets resource name to verify. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Resource type used for verification. Possible values include: - /// 'Site', 'Slot', 'HostingEnvironment' + /// Gets or sets resource type used for verification. Possible values + /// include: 'Site', 'Slot', 'HostingEnvironment' /// [JsonProperty(PropertyName = "type")] public string Type { get; set; } /// - /// Is fully qualified domain name + /// Gets or sets is fully qualified domain name. /// [JsonProperty(PropertyName = "isFqdn")] public bool? IsFqdn { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Name"); + } + if (Type == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Type"); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceScopeType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceScopeType.cs new file mode 100644 index 000000000000..4df4fac702ae --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ResourceScopeType.cs @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + + /// + /// Defines values for ResourceScopeType. + /// + public static class ResourceScopeType + { + public const string ServerFarm = "ServerFarm"; + public const string Subscription = "Subscription"; + public const string WebSite = "WebSite"; + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreRequest.cs index d4e93f1c043a..b048c6e59cec 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreRequest.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Description of a restore request + /// Description of a restore request. /// [JsonTransformation] public partial class RestoreRequest : Resource @@ -30,8 +32,39 @@ public RestoreRequest() { } /// /// Initializes a new instance of the RestoreRequest class. /// - public RestoreRequest(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string storageAccountUrl = default(string), string blobName = default(string), bool? overwrite = default(bool?), string siteName = default(string), IList databases = default(IList), bool? ignoreConflictingHostNames = default(bool?), BackupRestoreOperationType? operationType = default(BackupRestoreOperationType?), bool? adjustConnectionStrings = default(bool?), string hostingEnvironment = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// SAS URL to the container. + /// Name of a blob which contains the + /// backup. + /// <code>true</code> if the + /// restore operation can overwrite target app; otherwise, + /// <code>false</code>. <code>true</code> is + /// needed if trying to restore over an existing app. + /// Name of an app. + /// Collection of databases which should be + /// restored. This list has to match the list of databases included in + /// the backup. + /// Changes a logic when + /// restoring an app with custom domains. <code>true</code> + /// to remove custom domains automatically. If + /// <code>false</code>, custom domains are added to + /// the app's object when it is being restored, but that might fail due + /// to conflicts during the operation. + /// Operation type. Possible values + /// include: 'Default', 'Clone', 'Relocation' + /// <code>true</code> + /// if SiteConfig.ConnectionStrings should be set in new app; + /// otherwise, <code>false</code>. + /// App Service Environment name, if + /// needed (only when restoring an app to an App Service + /// Environment). + public RestoreRequest(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string storageAccountUrl = default(string), string blobName = default(string), bool? overwrite = default(bool?), string siteName = default(string), IList databases = default(IList), bool? ignoreConflictingHostNames = default(bool?), BackupRestoreOperationType? operationType = default(BackupRestoreOperationType?), bool? adjustConnectionStrings = default(bool?), string hostingEnvironment = default(string)) + : base(location, id, name, kind, type, tags) { StorageAccountUrl = storageAccountUrl; BlobName = blobName; @@ -45,74 +78,94 @@ public RestoreRequest() { } } /// - /// SAS URL to the container + /// Gets or sets SAS URL to the container. /// [JsonProperty(PropertyName = "properties.storageAccountUrl")] public string StorageAccountUrl { get; set; } /// - /// Name of a blob which contains the backup + /// Gets or sets name of a blob which contains the backup. /// [JsonProperty(PropertyName = "properties.blobName")] public string BlobName { get; set; } /// - /// True if the restore operation can overwrite target site. "True" - /// needed if trying to restore over an existing site. + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// restore operation can overwrite target app; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. + /// &lt;code&gt;true&lt;/code&gt; is needed if trying + /// to restore over an existing app. /// [JsonProperty(PropertyName = "properties.overwrite")] public bool? Overwrite { get; set; } /// - /// Name of a site (Web App) + /// Gets or sets name of an app. /// [JsonProperty(PropertyName = "properties.siteName")] public string SiteName { get; set; } /// - /// Collection of databses which should be restored. This list has to - /// match the list of databases included in the backup. + /// Gets or sets collection of databases which should be restored. This + /// list has to match the list of databases included in the backup. /// [JsonProperty(PropertyName = "properties.databases")] public IList Databases { get; set; } /// - /// Changes a logic when restoring a site with custom domains. If - /// "true", custom domains are removed automatically. If "false", - /// custom domains are added to - /// the site object when it is being restored, but that - /// might fail due to conflicts during the operation. + /// Gets or sets changes a logic when restoring an app with custom + /// domains. &lt;code&gt;true&lt;/code&gt; to remove + /// custom domains automatically. If + /// &lt;code&gt;false&lt;/code&gt;, custom domains are + /// added to + /// the app's object when it is being restored, but that might fail due + /// to conflicts during the operation. /// [JsonProperty(PropertyName = "properties.ignoreConflictingHostNames")] public bool? IgnoreConflictingHostNames { get; set; } /// - /// Operation type. Possible values include: 'Default', 'Clone', - /// 'Relocation' + /// Gets or sets operation type. Possible values include: 'Default', + /// 'Clone', 'Relocation' /// [JsonProperty(PropertyName = "properties.operationType")] public BackupRestoreOperationType? OperationType { get; set; } /// - /// Gets or sets a flag showing if SiteConfig.ConnectionStrings should - /// be set in new site + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// SiteConfig.ConnectionStrings should be set in new app; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.adjustConnectionStrings")] public bool? AdjustConnectionStrings { get; set; } /// - /// App Service Environment name, if needed (only when restoring a - /// site to an App Service Environment) + /// Gets or sets app Service Environment name, if needed (only when + /// restoring an app to an App Service Environment). /// [JsonProperty(PropertyName = "properties.hostingEnvironment")] public string HostingEnvironment { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); + if (Databases != null) + { + foreach (var element in Databases) + { + if (element != null) + { + element.Validate(); + } + } + } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreResponse.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreResponse.cs index 1d7b7beedb17..f33b52411ba3 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreResponse.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RestoreResponse.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Response for a restore site request + /// Response for an app restore request. /// [JsonTransformation] public partial class RestoreResponse : Resource @@ -30,25 +32,38 @@ public RestoreResponse() { } /// /// Initializes a new instance of the RestoreResponse class. /// - public RestoreResponse(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string operationId = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// When server starts the restore process, + /// it will return an operation ID identifying that particular restore + /// operation. + public RestoreResponse(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string operationId = default(string)) + : base(location, id, name, kind, type, tags) { OperationId = operationId; } /// - /// When server starts the restore process, it will return an - /// OperationId identifying that particular restore operation + /// Gets when server starts the restore process, it will return an + /// operation ID identifying that particular restore operation. /// [JsonProperty(PropertyName = "properties.operationId")] - public string OperationId { get; set; } + public string OperationId { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RouteType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RouteType.cs new file mode 100644 index 000000000000..9fbcecc7e4c7 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/RouteType.cs @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + + /// + /// Defines values for RouteType. + /// + public static class RouteType + { + public const string DEFAULT = "DEFAULT"; + public const string INHERITED = "INHERITED"; + public const string STATIC = "STATIC"; + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ScmType.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ScmType.cs new file mode 100644 index 000000000000..504eea86c2d2 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ScmType.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + + /// + /// Defines values for ScmType. + /// + public static class ScmType + { + public const string None = "None"; + public const string Dropbox = "Dropbox"; + public const string Tfs = "Tfs"; + public const string LocalGit = "LocalGit"; + public const string GitHub = "GitHub"; + public const string CodePlexGit = "CodePlexGit"; + public const string CodePlexHg = "CodePlexHg"; + public const string BitbucketGit = "BitbucketGit"; + public const string BitbucketHg = "BitbucketHg"; + public const string ExternalGit = "ExternalGit"; + public const string ExternalHg = "ExternalHg"; + public const string OneDrive = "OneDrive"; + public const string VSO = "VSO"; + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Site.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Site.cs index b8e35986a38e..348b3188a191 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Site.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Site.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents a web app + /// A web app, a mobile app backend, or an API app. /// [JsonTransformation] public partial class Site : Resource @@ -30,8 +32,92 @@ public Site() { } /// /// Initializes a new instance of the Site class. /// - public Site(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string state = default(string), IList hostNames = default(IList), string repositorySiteName = default(string), UsageState? usageState = default(UsageState?), bool? enabled = default(bool?), IList enabledHostNames = default(IList), SiteAvailabilityState? availabilityState = default(SiteAvailabilityState?), IList hostNameSslStates = default(IList), string serverFarmId = default(string), bool? reserved = default(bool?), DateTime? lastModifiedTimeUtc = default(DateTime?), SiteConfig siteConfig = default(SiteConfig), IList trafficManagerHostNames = default(IList), bool? premiumAppDeployed = default(bool?), bool? scmSiteAlsoStopped = default(bool?), string targetSwapSlot = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), string microService = default(string), string gatewaySiteName = default(string), bool? clientAffinityEnabled = default(bool?), bool? clientCertEnabled = default(bool?), bool? hostNamesDisabled = default(bool?), string outboundIpAddresses = default(string), int? containerSize = default(int?), int? dailyMemoryTimeQuota = default(int?), DateTime? suspendedTill = default(DateTime?), int? maxNumberOfWorkers = default(int?), CloningInfo cloningInfo = default(CloningInfo), string resourceGroup = default(string), bool? isDefaultContainer = default(bool?), string defaultHostName = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Current state of the app. + /// Hostnames associated with the app. + /// Name of the repository + /// site. + /// State indicating whether the app has + /// exceeded its quota usage. Read-only. Possible values include: + /// 'Normal', 'Exceeded' + /// <code>true</code> if the app is + /// enabled; otherwise, <code>false</code>. Setting this + /// value to false disables the app (takes the app offline). + /// Enabled hostnames for the + /// app.Hostnames need to be assigned (see HostNames) AND enabled. + /// Otherwise, + /// the app is not served on those hostnames. + /// Management information availability + /// state for the app. Possible values include: 'Normal', 'Limited', + /// 'DisasterRecoveryMode' + /// Hostname SSL states are used to + /// manage the SSL bindings for app's hostnames. + /// Resource ID of the associated App + /// Service plan, formatted as: + /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + /// <code>true</code> if reserved; + /// otherwise, <code>false</code>. + /// Last time the app was modified, + /// in UTC. Read-only. + /// Configuration of the app. + /// Azure Traffic Manager + /// hostnames associated with the app. Read-only. + /// Indicates whether app is deployed + /// as a premium app. + /// <code>true</code> to + /// stop SCM (KUDU) site when the app is stopped; otherwise, + /// <code>false</code>. The default is + /// <code>false</code>. + /// Specifies which deployment slot this + /// app will swap into. Read-only. + /// App Service Environment to + /// use for the app. + /// Micro services like apps, logic + /// apps. + /// Name of gateway app associated with + /// the app. + /// <code>true</code> + /// to enable client affinity; <code>false</code> to stop + /// sending session affinity cookies, which route client requests in + /// the same session to the same instance. Default is + /// <code>true</code>. + /// <code>true</code> to + /// enable client certificate authentication (TLS mutual + /// authentication); otherwise, <code>false</code>. Default + /// is <code>false</code>. + /// <code>true</code> to + /// disable the public hostnames of the app; otherwise, + /// <code>false</code>. + /// If <code>true</code>, the app is only accessible via + /// API management process. + /// List of IP addresses that the app + /// uses for outbound connections (e.g. database access). + /// Read-only. + /// Size of the function container. + /// Maximum allowed daily + /// memory-time quota (applicable on dynamic apps only). + /// App suspended till in case memory-time + /// quota is exceeded. + /// Maximum number of workers. + /// This only applies to Functions container. + /// If specified during app creation, the app + /// is cloned from a source app. + /// Name of the resource group the app + /// belongs to. Read-only. + /// <code>true</code> if + /// the app is a default container; otherwise, + /// <code>false</code>. + /// Default hostname of the app. + /// Read-only. + /// Status of the last deployment slot + /// swap operation. + public Site(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string state = default(string), IList hostNames = default(IList), string repositorySiteName = default(string), UsageState? usageState = default(UsageState?), bool? enabled = default(bool?), IList enabledHostNames = default(IList), SiteAvailabilityState? availabilityState = default(SiteAvailabilityState?), IList hostNameSslStates = default(IList), string serverFarmId = default(string), bool? reserved = default(bool?), System.DateTime? lastModifiedTimeUtc = default(System.DateTime?), SiteConfig siteConfig = default(SiteConfig), IList trafficManagerHostNames = default(IList), bool? premiumAppDeployed = default(bool?), bool? scmSiteAlsoStopped = default(bool?), string targetSwapSlot = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), string microService = default(string), string gatewaySiteName = default(string), bool? clientAffinityEnabled = default(bool?), bool? clientCertEnabled = default(bool?), bool? hostNamesDisabled = default(bool?), string outboundIpAddresses = default(string), int? containerSize = default(int?), int? dailyMemoryTimeQuota = default(int?), System.DateTime? suspendedTill = default(System.DateTime?), int? maxNumberOfWorkers = default(int?), CloningInfo cloningInfo = default(CloningInfo), string resourceGroup = default(string), bool? isDefaultContainer = default(bool?), string defaultHostName = default(string), SlotSwapStatus slotSwapStatus = default(SlotSwapStatus)) + : base(location, id, name, kind, type, tags) { State = state; HostNames = hostNames; @@ -64,243 +150,256 @@ public Site() { } ResourceGroup = resourceGroup; IsDefaultContainer = isDefaultContainer; DefaultHostName = defaultHostName; + SlotSwapStatus = slotSwapStatus; } /// - /// State of the web app + /// Gets current state of the app. /// [JsonProperty(PropertyName = "properties.state")] - public string State { get; set; } + public string State { get; protected set; } /// - /// Hostnames associated with web app + /// Gets hostnames associated with the app. /// [JsonProperty(PropertyName = "properties.hostNames")] - public IList HostNames { get; set; } + public IList HostNames { get; protected set; } /// - /// Name of repository site + /// Gets name of the repository site. /// [JsonProperty(PropertyName = "properties.repositorySiteName")] - public string RepositorySiteName { get; set; } + public string RepositorySiteName { get; protected set; } /// - /// State indicating whether web app has exceeded its quota usage. - /// Possible values include: 'Normal', 'Exceeded' + /// Gets state indicating whether the app has exceeded its quota usage. + /// Read-only. Possible values include: 'Normal', 'Exceeded' /// [JsonProperty(PropertyName = "properties.usageState")] - public UsageState? UsageState { get; set; } + public UsageState? UsageState { get; protected set; } /// - /// True if the site is enabled; otherwise, false. Setting this value - /// to false disables the site (takes the site off line). + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// app is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. Setting this value + /// to false disables the app (takes the app offline). /// [JsonProperty(PropertyName = "properties.enabled")] public bool? Enabled { get; set; } /// - /// Hostnames for the web app that are enabled. Hostnames need to be - /// assigned and enabled. If some hostnames are assigned but not - /// enabled - /// the app is not served on those hostnames + /// Gets enabled hostnames for the app.Hostnames need to be assigned + /// (see HostNames) AND enabled. Otherwise, + /// the app is not served on those hostnames. /// [JsonProperty(PropertyName = "properties.enabledHostNames")] - public IList EnabledHostNames { get; set; } + public IList EnabledHostNames { get; protected set; } /// - /// Management information availability state for the web app. - /// Possible values are Normal or Limited. - /// Normal means that the site is running correctly and - /// that management information for the site is available. - /// Limited means that only partial management information - /// for the site is available and that detailed site information is - /// unavailable. Possible values include: 'Normal', 'Limited', + /// Gets management information availability state for the app. + /// Possible values include: 'Normal', 'Limited', /// 'DisasterRecoveryMode' /// [JsonProperty(PropertyName = "properties.availabilityState")] - public SiteAvailabilityState? AvailabilityState { get; set; } + public SiteAvailabilityState? AvailabilityState { get; protected set; } /// - /// Hostname SSL states are used to manage the SSL bindings for - /// site's hostnames. + /// Gets or sets hostname SSL states are used to manage the SSL + /// bindings for app's hostnames. /// [JsonProperty(PropertyName = "properties.hostNameSslStates")] public IList HostNameSslStates { get; set; } /// + /// Gets or sets resource ID of the associated App Service plan, + /// formatted as: + /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". /// [JsonProperty(PropertyName = "properties.serverFarmId")] public string ServerFarmId { get; set; } /// - /// Reserved + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// reserved; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.reserved")] public bool? Reserved { get; set; } /// - /// Last time web app was modified in UTC + /// Gets last time the app was modified, in UTC. Read-only. /// [JsonProperty(PropertyName = "properties.lastModifiedTimeUtc")] - public DateTime? LastModifiedTimeUtc { get; set; } + public System.DateTime? LastModifiedTimeUtc { get; protected set; } /// - /// Configuration of web app + /// Gets or sets configuration of the app. /// [JsonProperty(PropertyName = "properties.siteConfig")] public SiteConfig SiteConfig { get; set; } /// - /// Read-only list of Azure Traffic manager hostnames associated with - /// web app + /// Gets azure Traffic Manager hostnames associated with the app. + /// Read-only. /// [JsonProperty(PropertyName = "properties.trafficManagerHostNames")] - public IList TrafficManagerHostNames { get; set; } + public IList TrafficManagerHostNames { get; protected set; } /// - /// If set indicates whether web app is deployed as a premium app + /// Gets indicates whether app is deployed as a premium app. /// [JsonProperty(PropertyName = "properties.premiumAppDeployed")] - public bool? PremiumAppDeployed { get; set; } + public bool? PremiumAppDeployed { get; protected set; } /// - /// If set indicates whether to stop SCM (KUDU) site when the web app - /// is stopped. Default is false. + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to stop + /// SCM (KUDU) site when the app is stopped; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. The default is + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.scmSiteAlsoStopped")] public bool? ScmSiteAlsoStopped { get; set; } /// - /// Read-only property that specifies which slot this app will swap - /// into + /// Gets specifies which deployment slot this app will swap into. + /// Read-only. /// [JsonProperty(PropertyName = "properties.targetSwapSlot")] - public string TargetSwapSlot { get; set; } + public string TargetSwapSlot { get; protected set; } /// - /// Specification for the hosting environment (App Service - /// Environment) to use for the web app + /// Gets or sets app Service Environment to use for the app. /// [JsonProperty(PropertyName = "properties.hostingEnvironmentProfile")] public HostingEnvironmentProfile HostingEnvironmentProfile { get; set; } /// - /// Micro services like WebSites, Logic Apps + /// Gets or sets micro services like apps, logic apps. /// [JsonProperty(PropertyName = "properties.microService")] public string MicroService { get; set; } /// - /// Name of gateway app associated with web app + /// Gets or sets name of gateway app associated with the app. /// [JsonProperty(PropertyName = "properties.gatewaySiteName")] public string GatewaySiteName { get; set; } /// - /// Specifies if the client affinity is enabled when load balancing - /// http request for multiple instances of the web app + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// enable client affinity; + /// &lt;code&gt;false&lt;/code&gt; to stop sending + /// session affinity cookies, which route client requests in the same + /// session to the same instance. Default is + /// &lt;code&gt;true&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.clientAffinityEnabled")] public bool? ClientAffinityEnabled { get; set; } /// - /// Specifies if the client certificate is enabled for the web app + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// enable client certificate authentication (TLS mutual + /// authentication); otherwise, + /// &lt;code&gt;false&lt;/code&gt;. Default is + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.clientCertEnabled")] public bool? ClientCertEnabled { get; set; } /// - /// Specifies if the public hostnames are disabled the web app. - /// If set to true the app is only accessible via API - /// Management process + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// disable the public hostnames of the app; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. + /// If &lt;code&gt;true&lt;/code&gt;, the app is only + /// accessible via API management process. /// [JsonProperty(PropertyName = "properties.hostNamesDisabled")] public bool? HostNamesDisabled { get; set; } /// - /// List of comma separated IP addresses that this web app uses for - /// outbound connections. Those can be used when configuring firewall - /// rules for databases accessed by this web app. + /// Gets list of IP addresses that the app uses for outbound + /// connections (e.g. database access). Read-only. /// [JsonProperty(PropertyName = "properties.outboundIpAddresses")] - public string OutboundIpAddresses { get; set; } + public string OutboundIpAddresses { get; protected set; } /// - /// Size of a function container + /// Gets or sets size of the function container. /// [JsonProperty(PropertyName = "properties.containerSize")] public int? ContainerSize { get; set; } /// - /// Maximum allowed daily memory-time quota (applicable on dynamic - /// sites only) + /// Gets or sets maximum allowed daily memory-time quota (applicable on + /// dynamic apps only). /// [JsonProperty(PropertyName = "properties.dailyMemoryTimeQuota")] public int? DailyMemoryTimeQuota { get; set; } /// - /// Site suspended till in case memory-time quota is exceeded + /// Gets app suspended till in case memory-time quota is exceeded. /// [JsonProperty(PropertyName = "properties.suspendedTill")] - public DateTime? SuspendedTill { get; set; } + public System.DateTime? SuspendedTill { get; protected set; } /// - /// Maximum number of workers - /// This only applies to function container + /// Gets maximum number of workers. + /// This only applies to Functions container. /// [JsonProperty(PropertyName = "properties.maxNumberOfWorkers")] - public int? MaxNumberOfWorkers { get; set; } + public int? MaxNumberOfWorkers { get; protected set; } /// - /// This is only valid for web app creation. If specified, web app is - /// cloned from - /// a source web app + /// Gets or sets if specified during app creation, the app is cloned + /// from a source app. /// [JsonProperty(PropertyName = "properties.cloningInfo")] public CloningInfo CloningInfo { get; set; } /// - /// Resource group web app belongs to + /// Gets name of the resource group the app belongs to. Read-only. /// [JsonProperty(PropertyName = "properties.resourceGroup")] - public string ResourceGroup { get; set; } + public string ResourceGroup { get; protected set; } /// - /// Site is a default container + /// Gets &lt;code&gt;true&lt;/code&gt; if the app is a + /// default container; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.isDefaultContainer")] - public bool? IsDefaultContainer { get; set; } + public bool? IsDefaultContainer { get; protected set; } /// - /// Default hostname of the web app + /// Gets default hostname of the app. Read-only. /// [JsonProperty(PropertyName = "properties.defaultHostName")] - public string DefaultHostName { get; set; } + public string DefaultHostName { get; protected set; } + + /// + /// Gets status of the last deployment slot swap operation. + /// + [JsonProperty(PropertyName = "properties.slotSwapStatus")] + public SlotSwapStatus SlotSwapStatus { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.HostNameSslStates != null) + if (SiteConfig != null) { - foreach (var element in this.HostNameSslStates) - { - if (element != null) - { - element.Validate(); - } - } + SiteConfig.Validate(); } - if (this.SiteConfig != null) + if (CloningInfo != null) { - this.SiteConfig.Validate(); - } - if (this.CloningInfo != null) - { - this.CloningInfo.Validate(); + CloningInfo.Validate(); } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAuthSettings.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAuthSettings.cs index b85c170f04c6..e89a1cb2ecaf 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAuthSettings.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAuthSettings.cs @@ -1,20 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// /// Configuration settings for the Azure App Service Authentication / @@ -30,10 +30,133 @@ public SiteAuthSettings() { } /// /// Initializes a new instance of the SiteAuthSettings class. /// - public SiteAuthSettings(bool? enabled = default(bool?), string httpApiPrefixPath = default(string), UnauthenticatedClientAction? unauthenticatedClientAction = default(UnauthenticatedClientAction?), bool? tokenStoreEnabled = default(bool?), IList allowedExternalRedirectUrls = default(IList), BuiltInAuthenticationProvider? defaultProvider = default(BuiltInAuthenticationProvider?), double? tokenRefreshExtensionHours = default(double?), string clientId = default(string), string clientSecret = default(string), string issuer = default(string), IList allowedAudiences = default(IList), IList additionalLoginParams = default(IList), string aadClientId = default(string), string openIdIssuer = default(string), string googleClientId = default(string), string googleClientSecret = default(string), IList googleOAuthScopes = default(IList), string facebookAppId = default(string), string facebookAppSecret = default(string), IList facebookOAuthScopes = default(IList), string twitterConsumerKey = default(string), string twitterConsumerSecret = default(string), string microsoftAccountClientId = default(string), string microsoftAccountClientSecret = default(string), IList microsoftAccountOAuthScopes = default(IList)) + /// <code>true</code> if the + /// Authentication / Authorization feature is enabled for the current + /// app; otherwise, <code>false</code>. + /// The RuntimeVersion of the + /// Authentication / Authorization feature in use for the current app. + /// The setting in this value can control the behavior of certain + /// features in the Authentication / Authorization module. + /// The action to take when + /// an unauthenticated client attempts to access the app. Possible + /// values include: 'RedirectToLoginPage', 'AllowAnonymous' + /// <code>true</code> to + /// durably store platform-specific security tokens that are obtained + /// during login flows; otherwise, <code>false</code>. + /// The default is <code>false</code>. + /// External URLs that can be + /// redirected to as part of logging in or logging out of the app. Note + /// that the query string part of the URL is ignored. + /// This is an advanced setting typically only needed by Windows Store + /// application backends. + /// Note that URLs within the current domain are always implicitly + /// allowed. + /// The default authentication provider + /// to use when multiple providers are configured. + /// This setting is only needed if multiple providers are configured + /// and the unauthenticated client + /// action is set to "RedirectToLoginPage". Possible values include: + /// 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', + /// 'Twitter' + /// The number of hours after + /// session token expiration that a session token can be used to + /// call the token refresh API. The default is 72 hours. + /// The Client ID of this relying party + /// application, known as the client_id. + /// This setting is required for enabling OpenID Connection + /// authentication with Azure Active Directory or + /// other 3rd party OpenID Connect providers. + /// More information on OpenID Connect: + /// http://openid.net/specs/openid-connect-core-1_0.html + /// The Client Secret of this relying party + /// application (in Azure Active Directory, this is also referred to as + /// the Key). + /// This setting is optional. If no client secret is configured, the + /// OpenID Connect implicit auth flow is used to authenticate end + /// users. + /// Otherwise, the OpenID Connect Authorization Code Flow is used to + /// authenticate end users. + /// More information on OpenID Connect: + /// http://openid.net/specs/openid-connect-core-1_0.html + /// The OpenID Connect Issuer URI that represents + /// the entity which issues access tokens for this application. + /// When using Azure Active Directory, this value is the URI of the + /// directory tenant, e.g. https://sts.windows.net/{tenant-guid}/. + /// This URI is a case-sensitive identifier for the token issuer. + /// More information on OpenID Connect Discovery: + /// http://openid.net/specs/openid-connect-discovery-1_0.html + /// Allowed audience values to consider + /// when validating JWTs issued by + /// Azure Active Directory. Note that the + /// <code>ClientID</code> value is always considered an + /// allowed audience, regardless of this setting. + /// Login parameters to send to the + /// OpenID Connect authorization endpoint when + /// a user logs in. Each parameter must be in the form + /// "key=value". + /// The OpenID Connect Client ID for the + /// Google web application. + /// This setting is required for enabling Google Sign-In. + /// Google Sign-In documentation: + /// https://developers.google.com/identity/sign-in/web/ + /// The client secret associated with + /// the Google web application. + /// This setting is required for enabling Google Sign-In. + /// Google Sign-In documentation: + /// https://developers.google.com/identity/sign-in/web/ + /// The OAuth 2.0 scopes that will be + /// requested as part of Google Sign-In authentication. + /// This setting is optional. If not specified, "openid", "profile", + /// and "email" are used as default scopes. + /// Google Sign-In documentation: + /// https://developers.google.com/identity/sign-in/web/ + /// The App ID of the Facebook app used for + /// login. + /// This setting is required for enabling Facebook Login. + /// Facebook Login documentation: + /// https://developers.facebook.com/docs/facebook-login + /// The App Secret of the Facebook app + /// used for Facebook Login. + /// This setting is required for enabling Facebook Login. + /// Facebook Login documentation: + /// https://developers.facebook.com/docs/facebook-login + /// The OAuth 2.0 scopes that will be + /// requested as part of Facebook Login authentication. + /// This setting is optional. + /// Facebook Login documentation: + /// https://developers.facebook.com/docs/facebook-login + /// The OAuth 1.0a consumer key of the + /// Twitter application used for sign-in. + /// This setting is required for enabling Twitter Sign-In. + /// Twitter Sign-In documentation: + /// https://dev.twitter.com/web/sign-in + /// The OAuth 1.0a consumer secret + /// of the Twitter application used for sign-in. + /// This setting is required for enabling Twitter Sign-In. + /// Twitter Sign-In documentation: + /// https://dev.twitter.com/web/sign-in + /// The OAuth 2.0 client ID that + /// was created for the app used for authentication. + /// This setting is required for enabling Microsoft Account + /// authentication. + /// Microsoft Account OAuth documentation: + /// https://dev.onedrive.com/auth/msa_oauth.htm + /// The OAuth 2.0 client + /// secret that was created for the app used for authentication. + /// This setting is required for enabling Microsoft Account + /// authentication. + /// Microsoft Account OAuth documentation: + /// https://dev.onedrive.com/auth/msa_oauth.htm + /// The OAuth 2.0 scopes that + /// will be requested as part of Microsoft Account authentication. + /// This setting is optional. If not specified, "wl.basic" is used as + /// the default scope. + /// Microsoft Account Scopes and permissions documentation: + /// https://msdn.microsoft.com/en-us/library/dn631845.aspx + public SiteAuthSettings(bool? enabled = default(bool?), string runtimeVersion = default(string), UnauthenticatedClientAction? unauthenticatedClientAction = default(UnauthenticatedClientAction?), bool? tokenStoreEnabled = default(bool?), IList allowedExternalRedirectUrls = default(IList), BuiltInAuthenticationProvider? defaultProvider = default(BuiltInAuthenticationProvider?), double? tokenRefreshExtensionHours = default(double?), string clientId = default(string), string clientSecret = default(string), string issuer = default(string), IList allowedAudiences = default(IList), IList additionalLoginParams = default(IList), string googleClientId = default(string), string googleClientSecret = default(string), IList googleOAuthScopes = default(IList), string facebookAppId = default(string), string facebookAppSecret = default(string), IList facebookOAuthScopes = default(IList), string twitterConsumerKey = default(string), string twitterConsumerSecret = default(string), string microsoftAccountClientId = default(string), string microsoftAccountClientSecret = default(string), IList microsoftAccountOAuthScopes = default(IList)) { Enabled = enabled; - HttpApiPrefixPath = httpApiPrefixPath; + RuntimeVersion = runtimeVersion; UnauthenticatedClientAction = unauthenticatedClientAction; TokenStoreEnabled = tokenStoreEnabled; AllowedExternalRedirectUrls = allowedExternalRedirectUrls; @@ -44,8 +167,6 @@ public SiteAuthSettings() { } Issuer = issuer; AllowedAudiences = allowedAudiences; AdditionalLoginParams = additionalLoginParams; - AadClientId = aadClientId; - OpenIdIssuer = openIdIssuer; GoogleClientId = googleClientId; GoogleClientSecret = googleClientSecret; GoogleOAuthScopes = googleOAuthScopes; @@ -60,19 +181,21 @@ public SiteAuthSettings() { } } /// - /// Gets or sets a value indicating whether the Authentication / - /// Authorization feature is enabled for the current app. + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// Authentication / Authorization feature is enabled for the current + /// app; otherwise, &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "enabled")] public bool? Enabled { get; set; } /// - /// Gets or sets the relative path prefix used by platform HTTP APIs. - /// Changing this value is not recommended except for - /// compatibility reasons. + /// Gets or sets the RuntimeVersion of the Authentication / + /// Authorization feature in use for the current app. + /// The setting in this value can control the behavior of certain + /// features in the Authentication / Authorization module. /// - [JsonProperty(PropertyName = "httpApiPrefixPath")] - public string HttpApiPrefixPath { get; set; } + [JsonProperty(PropertyName = "runtimeVersion")] + public string RuntimeVersion { get; set; } /// /// Gets or sets the action to take when an unauthenticated client @@ -83,23 +206,23 @@ public SiteAuthSettings() { } public UnauthenticatedClientAction? UnauthenticatedClientAction { get; set; } /// - /// Gets or sets a value indicating whether to durably store - /// platform-specific security tokens - /// obtained during login flows. This capability is - /// disabled by default. + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// durably store platform-specific security tokens that are obtained + /// during login flows; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. + /// The default is &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "tokenStoreEnabled")] public bool? TokenStoreEnabled { get; set; } /// - /// Gets or sets a collection of external URLs that can be redirected - /// to as part of logging in - /// or logging out of the web app. Note that the query - /// string part of the URL is ignored. - /// This is an advanced setting typically only needed by - /// Windows Store application backends. - /// Note that URLs within the current domain are always - /// implicitly allowed. + /// Gets or sets external URLs that can be redirected to as part of + /// logging in or logging out of the app. Note that the query string + /// part of the URL is ignored. + /// This is an advanced setting typically only needed by Windows Store + /// application backends. + /// Note that URLs within the current domain are always implicitly + /// allowed. /// [JsonProperty(PropertyName = "allowedExternalRedirectUrls")] public IList AllowedExternalRedirectUrls { get; set; } @@ -107,11 +230,11 @@ public SiteAuthSettings() { } /// /// Gets or sets the default authentication provider to use when /// multiple providers are configured. - /// This setting is only needed if multiple providers are - /// configured and the unauthenticated client - /// action is set to "RedirectToLoginPage". Possible - /// values include: 'AzureActiveDirectory', 'Facebook', 'Google', - /// 'MicrosoftAccount', 'Twitter' + /// This setting is only needed if multiple providers are configured + /// and the unauthenticated client + /// action is set to "RedirectToLoginPage". Possible values include: + /// 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', + /// 'Twitter' /// [JsonProperty(PropertyName = "defaultProvider")] public BuiltInAuthenticationProvider? DefaultProvider { get; set; } @@ -125,10 +248,10 @@ public SiteAuthSettings() { } public double? TokenRefreshExtensionHours { get; set; } /// - /// Gets or sets the Client ID of this relying party application, - /// known as the client_id. - /// This setting is required for enabling OpenID - /// Connection authentication with Azure Active Directory or + /// Gets or sets the Client ID of this relying party application, known + /// as the client_id. + /// This setting is required for enabling OpenID Connection + /// authentication with Azure Active Directory or /// other 3rd party OpenID Connect providers. /// More information on OpenID Connect: /// http://openid.net/specs/openid-connect-core-1_0.html @@ -139,11 +262,11 @@ public SiteAuthSettings() { } /// /// Gets or sets the Client Secret of this relying party application /// (in Azure Active Directory, this is also referred to as the Key). - /// This setting is optional. If no client secret is - /// configured, the OpenID Connect implicit auth flow is used to + /// This setting is optional. If no client secret is configured, the + /// OpenID Connect implicit auth flow is used to authenticate end + /// users. + /// Otherwise, the OpenID Connect Authorization Code Flow is used to /// authenticate end users. - /// Otherwise, the OpenID Connect Authorization Code Flow - /// is used to authenticate end users. /// More information on OpenID Connect: /// http://openid.net/specs/openid-connect-core-1_0.html /// @@ -153,11 +276,9 @@ public SiteAuthSettings() { } /// /// Gets or sets the OpenID Connect Issuer URI that represents the /// entity which issues access tokens for this application. - /// When using Azure Active Directory, this value is the - /// URI of the directory tenant, e.g. - /// https://sts.windows.net/{tenant-guid}/. - /// This URI is a case-sensitive identifier for the token - /// issuer. + /// When using Azure Active Directory, this value is the URI of the + /// directory tenant, e.g. https://sts.windows.net/{tenant-guid}/. + /// This URI is a case-sensitive identifier for the token issuer. /// More information on OpenID Connect Discovery: /// http://openid.net/specs/openid-connect-discovery-1_0.html /// @@ -165,35 +286,24 @@ public SiteAuthSettings() { } public string Issuer { get; set; } /// - /// Gets or sets a list of allowed audience values to consider when - /// validating JWTs issued by + /// Gets or sets allowed audience values to consider when validating + /// JWTs issued by /// Azure Active Directory. Note that the - /// {Microsoft.Web.Hosting.Administration.SiteAuthSettings.ClientId} - /// value is always considered an + /// &lt;code&gt;ClientID&lt;/code&gt; value is always + /// considered an /// allowed audience, regardless of this setting. /// [JsonProperty(PropertyName = "allowedAudiences")] public IList AllowedAudiences { get; set; } /// - /// Gets or sets a list of login parameters to send to the OpenID - /// Connect authorization endpoint when - /// a user logs in. Each parameter must be in the form - /// "key=value". + /// Gets or sets login parameters to send to the OpenID Connect + /// authorization endpoint when + /// a user logs in. Each parameter must be in the form "key=value". /// [JsonProperty(PropertyName = "additionalLoginParams")] public IList AdditionalLoginParams { get; set; } - /// - /// - [JsonProperty(PropertyName = "aadClientId")] - public string AadClientId { get; set; } - - /// - /// - [JsonProperty(PropertyName = "openIdIssuer")] - public string OpenIdIssuer { get; set; } - /// /// Gets or sets the OpenID Connect Client ID for the Google web /// application. @@ -215,10 +325,10 @@ public SiteAuthSettings() { } public string GoogleClientSecret { get; set; } /// - /// Gets or sets the OAuth 2.0 scopes that will be requested as part - /// of Google Sign-In authentication. - /// This setting is optional. If not specified, "openid", - /// "profile", and "email" are used as default scopes. + /// Gets or sets the OAuth 2.0 scopes that will be requested as part of + /// Google Sign-In authentication. + /// This setting is optional. If not specified, "openid", "profile", + /// and "email" are used as default scopes. /// Google Sign-In documentation: /// https://developers.google.com/identity/sign-in/web/ /// @@ -245,8 +355,8 @@ public SiteAuthSettings() { } public string FacebookAppSecret { get; set; } /// - /// Gets or sets the OAuth 2.0 scopes that will be requested as part - /// of Facebook Login authentication. + /// Gets or sets the OAuth 2.0 scopes that will be requested as part of + /// Facebook Login authentication. /// This setting is optional. /// Facebook Login documentation: /// https://developers.facebook.com/docs/facebook-login @@ -255,11 +365,10 @@ public SiteAuthSettings() { } public IList FacebookOAuthScopes { get; set; } /// - /// Gets or sets the OAuth 1.0a consumer key of the Twitter - /// application used for sign-in. + /// Gets or sets the OAuth 1.0a consumer key of the Twitter application + /// used for sign-in. /// This setting is required for enabling Twitter Sign-In. - /// Twitter Sign-In documentation: - /// https://dev.twitter.com/web/sign-in + /// Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in /// [JsonProperty(PropertyName = "twitterConsumerKey")] public string TwitterConsumerKey { get; set; } @@ -268,8 +377,7 @@ public SiteAuthSettings() { } /// Gets or sets the OAuth 1.0a consumer secret of the Twitter /// application used for sign-in. /// This setting is required for enabling Twitter Sign-In. - /// Twitter Sign-In documentation: - /// https://dev.twitter.com/web/sign-in + /// Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in /// [JsonProperty(PropertyName = "twitterConsumerSecret")] public string TwitterConsumerSecret { get; set; } @@ -277,8 +385,8 @@ public SiteAuthSettings() { } /// /// Gets or sets the OAuth 2.0 client ID that was created for the app /// used for authentication. - /// This setting is required for enabling Microsoft - /// Account authentication. + /// This setting is required for enabling Microsoft Account + /// authentication. /// Microsoft Account OAuth documentation: /// https://dev.onedrive.com/auth/msa_oauth.htm /// @@ -288,8 +396,8 @@ public SiteAuthSettings() { } /// /// Gets or sets the OAuth 2.0 client secret that was created for the /// app used for authentication. - /// This setting is required for enabling Microsoft - /// Account authentication. + /// This setting is required for enabling Microsoft Account + /// authentication. /// Microsoft Account OAuth documentation: /// https://dev.onedrive.com/auth/msa_oauth.htm /// @@ -297,15 +405,16 @@ public SiteAuthSettings() { } public string MicrosoftAccountClientSecret { get; set; } /// - /// Gets or sets the OAuth 2.0 scopes that will be requested as part - /// of Microsoft Account authentication. - /// This setting is optional. If not specified, "wl.basic" - /// is used as the default scope. - /// Microsoft Account Scopes and permissions - /// documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx + /// Gets or sets the OAuth 2.0 scopes that will be requested as part of + /// Microsoft Account authentication. + /// This setting is optional. If not specified, "wl.basic" is used as + /// the default scope. + /// Microsoft Account Scopes and permissions documentation: + /// https://msdn.microsoft.com/en-us/library/dn631845.aspx /// [JsonProperty(PropertyName = "microsoftAccountOAuthScopes")] public IList MicrosoftAccountOAuthScopes { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAvailabilityState.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAvailabilityState.cs index 2075c98ae23d..220a1634a2e0 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAvailabilityState.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteAvailabilityState.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for SiteAvailabilityState. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum SiteAvailabilityState { [EnumMember(Value = "Normal")] @@ -26,3 +30,4 @@ public enum SiteAvailabilityState DisasterRecoveryMode } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneability.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneability.cs index 6f5b3ca23c04..ae7470f18d6f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneability.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneability.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents whether or not a web app is cloneable + /// Represents whether or not an app is cloneable. /// public partial class SiteCloneability { @@ -29,7 +29,18 @@ public SiteCloneability() { } /// /// Initializes a new instance of the SiteCloneability class. /// - public SiteCloneability(CloneAbilityResult result, IList blockingFeatures = default(IList), IList unsupportedFeatures = default(IList), IList blockingCharacteristics = default(IList)) + /// Name of app. Possible values include: + /// 'Cloneable', 'PartiallyCloneable', 'NotCloneable' + /// List of features enabled on app that + /// prevent cloning. + /// List of features enabled on app + /// that are non-blocking but cannot be cloned. The app can still be + /// cloned + /// but the features in this list will not be set up on cloned + /// app. + /// List of blocking application + /// characteristics. + public SiteCloneability(CloneAbilityResult? result = default(CloneAbilityResult?), IList blockingFeatures = default(IList), IList unsupportedFeatures = default(IList), IList blockingCharacteristics = default(IList)) { Result = result; BlockingFeatures = blockingFeatures; @@ -38,38 +49,32 @@ public SiteCloneability() { } } /// - /// Name of web app. Possible values include: 'Cloneable', + /// Gets or sets name of app. Possible values include: 'Cloneable', /// 'PartiallyCloneable', 'NotCloneable' /// [JsonProperty(PropertyName = "result")] - public CloneAbilityResult Result { get; set; } + public CloneAbilityResult? Result { get; set; } /// - /// List of features enabled on web app that prevent cloning + /// Gets or sets list of features enabled on app that prevent cloning. /// [JsonProperty(PropertyName = "blockingFeatures")] public IList BlockingFeatures { get; set; } /// - /// List of features enabled on web app that are non-blocking but - /// cannot be cloned. The web app can still be cloned - /// but the features in this list will not be set up on - /// cloned web app. + /// Gets or sets list of features enabled on app that are non-blocking + /// but cannot be cloned. The app can still be cloned + /// but the features in this list will not be set up on cloned app. /// [JsonProperty(PropertyName = "unsupportedFeatures")] public IList UnsupportedFeatures { get; set; } /// - /// List of blocking application characteristics + /// Gets or sets list of blocking application characteristics. /// [JsonProperty(PropertyName = "blockingCharacteristics")] public IList BlockingCharacteristics { get; set; } - /// - /// Validate the object. Throws ValidationException if validation fails. - /// - public virtual void Validate() - { - } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneabilityCriterion.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneabilityCriterion.cs index 5c58f33bfe24..bd41c93d326a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneabilityCriterion.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteCloneabilityCriterion.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Represents a site cloneability criterion + /// An app cloneability criterion. /// public partial class SiteCloneabilityCriterion { @@ -29,6 +27,8 @@ public SiteCloneabilityCriterion() { } /// /// Initializes a new instance of the SiteCloneabilityCriterion class. /// + /// Name of criterion. + /// Description of criterion. public SiteCloneabilityCriterion(string name = default(string), string description = default(string)) { Name = name; @@ -36,16 +36,17 @@ public SiteCloneabilityCriterion() { } } /// - /// Name of criterion + /// Gets or sets name of criterion. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Description of criterion + /// Gets or sets description of criterion. /// [JsonProperty(PropertyName = "description")] public string Description { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteConfig.cs index bcfb781d70fe..4f0a2aaa3134 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteConfig.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Configuration of Azure web site + /// Configuration of an App Service app. /// [JsonTransformation] public partial class SiteConfig : Resource @@ -30,8 +32,88 @@ public SiteConfig() { } /// /// Initializes a new instance of the SiteConfig class. /// - public SiteConfig(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? numberOfWorkers = default(int?), IList defaultDocuments = default(IList), string netFrameworkVersion = default(string), string phpVersion = default(string), string pythonVersion = default(string), string nodeVersion = default(string), bool? requestTracingEnabled = default(bool?), DateTime? requestTracingExpirationTime = default(DateTime?), bool? remoteDebuggingEnabled = default(bool?), string remoteDebuggingVersion = default(string), bool? httpLoggingEnabled = default(bool?), int? logsDirectorySizeLimit = default(int?), bool? detailedErrorLoggingEnabled = default(bool?), string publishingUsername = default(string), SiteMachineKey machineKey = default(SiteMachineKey), IList handlerMappings = default(IList), string documentRoot = default(string), string scmType = default(string), bool? use32BitWorkerProcess = default(bool?), bool? webSocketsEnabled = default(bool?), bool? alwaysOn = default(bool?), string javaVersion = default(string), string javaContainer = default(string), string javaContainerVersion = default(string), string appCommandLine = default(string), ManagedPipelineMode? managedPipelineMode = default(ManagedPipelineMode?), IList virtualApplications = default(IList), SiteLoadBalancing? loadBalancing = default(SiteLoadBalancing?), Experiments experiments = default(Experiments), SiteLimits limits = default(SiteLimits), bool? autoHealEnabled = default(bool?), AutoHealRules autoHealRules = default(AutoHealRules), string tracingOptions = default(string), string vnetName = default(string), CorsSettings cors = default(CorsSettings), PushSettings push = default(PushSettings), ApiDefinitionInfo apiDefinition = default(ApiDefinitionInfo), string autoSwapSlotName = default(string), bool? localMySqlEnabled = default(bool?), IList ipSecurityRestrictions = default(IList)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Number of workers. + /// Default documents. + /// .NET Framework version. + /// Version of PHP. + /// Version of Python. + /// Version of Node.js. + /// Linux App Framework and + /// version + /// <code>true</code> + /// if request tracing is enabled; otherwise, + /// <code>false</code>. + /// Request tracing + /// expiration time. + /// <code>true</code> + /// if remote debugging is enabled; otherwise, + /// <code>false</code>. + /// Remote debugging + /// version. + /// <code>true</code> if + /// HTTP logging is enabled; otherwise, + /// <code>false</code>. + /// HTTP logs directory size + /// limit. + /// <code>true</code> if + /// detailed error logging is enabled; otherwise, + /// <code>false</code>. + /// Publishing user name. + /// Application settings. + /// Connection strings. + /// Site MachineKey. + /// Handler mappings. + /// Document root. + /// SCM type. Possible values include: 'None', + /// 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', + /// 'CodePlexHg', 'BitbucketGit', 'BitbucketHg', 'ExternalGit', + /// 'ExternalHg', 'OneDrive', 'VSO' + /// <code>true</code> + /// to use 32-bit worker process; otherwise, + /// <code>false</code>. + /// <code>true</code> if + /// WebSocket is enabled; otherwise, + /// <code>false</code>. + /// <code>true</code> if Always On + /// is enabled; otherwise, <code>false</code>. + /// Java version. + /// Java container. + /// Java container version. + /// App command line to launch. + /// Managed pipeline mode. Possible + /// values include: 'Integrated', 'Classic' + /// Virtual applications. + /// Site load balancing. Possible values + /// include: 'WeightedRoundRobin', 'LeastRequests', + /// 'LeastResponseTime', 'WeightedTotalTraffic', 'RequestHash' + /// This is work around for polymophic + /// types. + /// Site limits. + /// <code>true</code> if Auto + /// Heal is enabled; otherwise, <code>false</code>. + /// Auto Heal rules. + /// Tracing options. + /// Virtual Network name. + /// Cross-Origin Resource Sharing (CORS) + /// settings. + /// Push endpoint settings. + /// Information about the formal API + /// definition for the app. + /// Auto-swap slot name. + /// <code>true</code> to + /// enable local MySQL; otherwise, + /// <code>false</code>. + /// IP security + /// restrictions. + public SiteConfig(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? numberOfWorkers = default(int?), IList defaultDocuments = default(IList), string netFrameworkVersion = default(string), string phpVersion = default(string), string pythonVersion = default(string), string nodeVersion = default(string), string linuxFxVersion = default(string), bool? requestTracingEnabled = default(bool?), System.DateTime? requestTracingExpirationTime = default(System.DateTime?), bool? remoteDebuggingEnabled = default(bool?), string remoteDebuggingVersion = default(string), bool? httpLoggingEnabled = default(bool?), int? logsDirectorySizeLimit = default(int?), bool? detailedErrorLoggingEnabled = default(bool?), string publishingUsername = default(string), IList appSettings = default(IList), IList connectionStrings = default(IList), SiteMachineKey machineKey = default(SiteMachineKey), IList handlerMappings = default(IList), string documentRoot = default(string), string scmType = default(string), bool? use32BitWorkerProcess = default(bool?), bool? webSocketsEnabled = default(bool?), bool? alwaysOn = default(bool?), string javaVersion = default(string), string javaContainer = default(string), string javaContainerVersion = default(string), string appCommandLine = default(string), ManagedPipelineMode? managedPipelineMode = default(ManagedPipelineMode?), IList virtualApplications = default(IList), SiteLoadBalancing? loadBalancing = default(SiteLoadBalancing?), Experiments experiments = default(Experiments), SiteLimits limits = default(SiteLimits), bool? autoHealEnabled = default(bool?), AutoHealRules autoHealRules = default(AutoHealRules), string tracingOptions = default(string), string vnetName = default(string), CorsSettings cors = default(CorsSettings), PushSettings push = default(PushSettings), ApiDefinitionInfo apiDefinition = default(ApiDefinitionInfo), string autoSwapSlotName = default(string), bool? localMySqlEnabled = default(bool?), IList ipSecurityRestrictions = default(IList)) + : base(location, id, name, kind, type, tags) { NumberOfWorkers = numberOfWorkers; DefaultDocuments = defaultDocuments; @@ -39,6 +121,7 @@ public SiteConfig() { } PhpVersion = phpVersion; PythonVersion = pythonVersion; NodeVersion = nodeVersion; + LinuxFxVersion = linuxFxVersion; RequestTracingEnabled = requestTracingEnabled; RequestTracingExpirationTime = requestTracingExpirationTime; RemoteDebuggingEnabled = remoteDebuggingEnabled; @@ -47,6 +130,8 @@ public SiteConfig() { } LogsDirectorySizeLimit = logsDirectorySizeLimit; DetailedErrorLoggingEnabled = detailedErrorLoggingEnabled; PublishingUsername = publishingUsername; + AppSettings = appSettings; + ConnectionStrings = connectionStrings; MachineKey = machineKey; HandlerMappings = handlerMappings; DocumentRoot = documentRoot; @@ -76,170 +161,205 @@ public SiteConfig() { } } /// - /// Number of workers + /// Gets or sets number of workers. /// [JsonProperty(PropertyName = "properties.numberOfWorkers")] public int? NumberOfWorkers { get; set; } /// - /// Default documents + /// Gets or sets default documents. /// [JsonProperty(PropertyName = "properties.defaultDocuments")] public IList DefaultDocuments { get; set; } /// - /// Net Framework Version + /// Gets or sets .NET Framework version. /// [JsonProperty(PropertyName = "properties.netFrameworkVersion")] public string NetFrameworkVersion { get; set; } /// - /// Version of PHP + /// Gets or sets version of PHP. /// [JsonProperty(PropertyName = "properties.phpVersion")] public string PhpVersion { get; set; } /// - /// Version of Python + /// Gets or sets version of Python. /// [JsonProperty(PropertyName = "properties.pythonVersion")] public string PythonVersion { get; set; } /// - /// Version of Node + /// Gets or sets version of Node.js. /// [JsonProperty(PropertyName = "properties.nodeVersion")] public string NodeVersion { get; set; } /// - /// Enable request tracing + /// Gets or sets linux App Framework and version + /// + [JsonProperty(PropertyName = "properties.linuxFxVersion")] + public string LinuxFxVersion { get; set; } + + /// + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// request tracing is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.requestTracingEnabled")] public bool? RequestTracingEnabled { get; set; } /// - /// Request tracing expiration time + /// Gets or sets request tracing expiration time. /// [JsonProperty(PropertyName = "properties.requestTracingExpirationTime")] - public DateTime? RequestTracingExpirationTime { get; set; } + public System.DateTime? RequestTracingExpirationTime { get; set; } /// - /// Remote Debugging Enabled + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// remote debugging is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.remoteDebuggingEnabled")] public bool? RemoteDebuggingEnabled { get; set; } /// - /// Remote Debugging Version + /// Gets or sets remote debugging version. /// [JsonProperty(PropertyName = "properties.remoteDebuggingVersion")] public string RemoteDebuggingVersion { get; set; } /// - /// HTTP logging Enabled + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if HTTP + /// logging is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.httpLoggingEnabled")] public bool? HttpLoggingEnabled { get; set; } /// - /// HTTP Logs Directory size limit + /// Gets or sets HTTP logs directory size limit. /// [JsonProperty(PropertyName = "properties.logsDirectorySizeLimit")] public int? LogsDirectorySizeLimit { get; set; } /// - /// Detailed error logging enabled + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// detailed error logging is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.detailedErrorLoggingEnabled")] public bool? DetailedErrorLoggingEnabled { get; set; } /// - /// Publishing user name + /// Gets or sets publishing user name. /// [JsonProperty(PropertyName = "properties.publishingUsername")] public string PublishingUsername { get; set; } /// - /// Site MachineKey + /// Gets or sets application settings. + /// + [JsonProperty(PropertyName = "properties.appSettings")] + public IList AppSettings { get; set; } + + /// + /// Gets or sets connection strings. + /// + [JsonProperty(PropertyName = "properties.connectionStrings")] + public IList ConnectionStrings { get; set; } + + /// + /// Gets site MachineKey. /// [JsonProperty(PropertyName = "properties.machineKey")] - public SiteMachineKey MachineKey { get; set; } + public SiteMachineKey MachineKey { get; protected set; } /// - /// Handler mappings + /// Gets or sets handler mappings. /// [JsonProperty(PropertyName = "properties.handlerMappings")] public IList HandlerMappings { get; set; } /// - /// Document root + /// Gets or sets document root. /// [JsonProperty(PropertyName = "properties.documentRoot")] public string DocumentRoot { get; set; } /// - /// SCM type + /// Gets or sets SCM type. Possible values include: 'None', 'Dropbox', + /// 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', + /// 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', + /// 'OneDrive', 'VSO' /// [JsonProperty(PropertyName = "properties.scmType")] public string ScmType { get; set; } /// - /// Use 32 bit worker process + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to use + /// 32-bit worker process; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.use32BitWorkerProcess")] public bool? Use32BitWorkerProcess { get; set; } /// - /// Web socket enabled. + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// WebSocket is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.webSocketsEnabled")] public bool? WebSocketsEnabled { get; set; } /// - /// Always On + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// Always On is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.alwaysOn")] public bool? AlwaysOn { get; set; } /// - /// Java version + /// Gets or sets java version. /// [JsonProperty(PropertyName = "properties.javaVersion")] public string JavaVersion { get; set; } /// - /// Java container + /// Gets or sets java container. /// [JsonProperty(PropertyName = "properties.javaContainer")] public string JavaContainer { get; set; } /// - /// Java container version + /// Gets or sets java container version. /// [JsonProperty(PropertyName = "properties.javaContainerVersion")] public string JavaContainerVersion { get; set; } /// - /// App Command Line to launch + /// Gets or sets app command line to launch. /// [JsonProperty(PropertyName = "properties.appCommandLine")] public string AppCommandLine { get; set; } /// - /// Managed pipeline mode. Possible values include: 'Integrated', - /// 'Classic' + /// Gets or sets managed pipeline mode. Possible values include: + /// 'Integrated', 'Classic' /// [JsonProperty(PropertyName = "properties.managedPipelineMode")] public ManagedPipelineMode? ManagedPipelineMode { get; set; } /// - /// Virtual applications + /// Gets or sets virtual applications. /// [JsonProperty(PropertyName = "properties.virtualApplications")] public IList VirtualApplications { get; set; } /// - /// Site load balancing. Possible values include: + /// Gets or sets site load balancing. Possible values include: /// 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', /// 'WeightedTotalTraffic', 'RequestHash' /// @@ -247,90 +367,98 @@ public SiteConfig() { } public SiteLoadBalancing? LoadBalancing { get; set; } /// - /// This is work around for polymophic types + /// Gets or sets this is work around for polymophic types. /// [JsonProperty(PropertyName = "properties.experiments")] public Experiments Experiments { get; set; } /// - /// Site limits + /// Gets or sets site limits. /// [JsonProperty(PropertyName = "properties.limits")] public SiteLimits Limits { get; set; } /// - /// Auto heal enabled + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if Auto + /// Heal is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.autoHealEnabled")] public bool? AutoHealEnabled { get; set; } /// - /// Auto heal rules + /// Gets or sets auto Heal rules. /// [JsonProperty(PropertyName = "properties.autoHealRules")] public AutoHealRules AutoHealRules { get; set; } /// - /// Tracing options + /// Gets or sets tracing options. /// [JsonProperty(PropertyName = "properties.tracingOptions")] public string TracingOptions { get; set; } /// - /// Vnet name + /// Gets or sets virtual Network name. /// [JsonProperty(PropertyName = "properties.vnetName")] public string VnetName { get; set; } /// - /// Cross-Origin Resource Sharing (CORS) settings. + /// Gets or sets cross-Origin Resource Sharing (CORS) settings. /// [JsonProperty(PropertyName = "properties.cors")] public CorsSettings Cors { get; set; } /// - /// Push endpoint settings. + /// Gets or sets push endpoint settings. /// [JsonProperty(PropertyName = "properties.push")] public PushSettings Push { get; set; } /// - /// Information about the formal API definition for the web app. + /// Gets or sets information about the formal API definition for the + /// app. /// [JsonProperty(PropertyName = "properties.apiDefinition")] public ApiDefinitionInfo ApiDefinition { get; set; } /// - /// Auto swap slot name + /// Gets or sets auto-swap slot name. /// [JsonProperty(PropertyName = "properties.autoSwapSlotName")] public string AutoSwapSlotName { get; set; } /// - /// Local mysql enabled + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// enable local MySQL; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.localMySqlEnabled")] public bool? LocalMySqlEnabled { get; set; } /// - /// Ip Security restrictions + /// Gets or sets IP security restrictions. /// [JsonProperty(PropertyName = "properties.ipSecurityRestrictions")] public IList IpSecurityRestrictions { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.AutoHealRules != null) + if (Push != null) { - this.AutoHealRules.Validate(); + Push.Validate(); } - if (this.IpSecurityRestrictions != null) + if (IpSecurityRestrictions != null) { - foreach (var element in this.IpSecurityRestrictions) + foreach (var element in IpSecurityRestrictions) { if (element != null) { @@ -341,3 +469,4 @@ public override void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteConfigurationSnapshotInfo.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteConfigurationSnapshotInfo.cs new file mode 100644 index 000000000000..a684c6354012 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteConfigurationSnapshotInfo.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// A snapshot of a web app configuration. + /// + [JsonTransformation] + public partial class SiteConfigurationSnapshotInfo : Resource + { + /// + /// Initializes a new instance of the SiteConfigurationSnapshotInfo + /// class. + /// + public SiteConfigurationSnapshotInfo() { } + + /// + /// Initializes a new instance of the SiteConfigurationSnapshotInfo + /// class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The time the snapshot was taken. + /// The id of the + /// snapshot + public SiteConfigurationSnapshotInfo(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), System.DateTime? time = default(System.DateTime?), int? siteConfigurationSnapshotInfoId = default(int?)) + : base(location, id, name, kind, type, tags) + { + Time = time; + SiteConfigurationSnapshotInfoId = siteConfigurationSnapshotInfoId; + } + + /// + /// Gets the time the snapshot was taken. + /// + [JsonProperty(PropertyName = "properties.time")] + public System.DateTime? Time { get; protected set; } + + /// + /// Gets the id of the snapshot + /// + [JsonProperty(PropertyName = "properties.id")] + public int? SiteConfigurationSnapshotInfoId { get; protected set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteInstance.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteInstance.cs index 7215827139a1..c997c909992c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteInstance.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteInstance.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Instance of a web app + /// Instance of an app. /// [JsonTransformation] public partial class SiteInstance : Resource @@ -30,24 +32,35 @@ public SiteInstance() { } /// /// Initializes a new instance of the SiteInstance class. /// - public SiteInstance(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string siteInstanceName = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name of instance. + public SiteInstance(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string siteInstanceName = default(string)) + : base(location, id, name, kind, type, tags) { SiteInstanceName = siteInstanceName; } /// - /// Name of instance + /// Gets name of instance. /// [JsonProperty(PropertyName = "properties.name")] - public string SiteInstanceName { get; set; } + public string SiteInstanceName { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLimits.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLimits.cs index bf5bc339079b..558873ee83d7 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLimits.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLimits.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Represents metric limits set on a web app. + /// Metric limits set on an app. /// public partial class SiteLimits { @@ -29,6 +27,12 @@ public SiteLimits() { } /// /// Initializes a new instance of the SiteLimits class. /// + /// Maximum allowed CPU usage + /// percentage. + /// Maximum allowed memory usage in + /// MB. + /// Maximum allowed disk size usage in + /// MB. public SiteLimits(double? maxPercentageCpu = default(double?), long? maxMemoryInMb = default(long?), long? maxDiskSizeInMb = default(long?)) { MaxPercentageCpu = maxPercentageCpu; @@ -37,22 +41,23 @@ public SiteLimits() { } } /// - /// Maximum allowed CPU usage percentage + /// Gets or sets maximum allowed CPU usage percentage. /// [JsonProperty(PropertyName = "maxPercentageCpu")] public double? MaxPercentageCpu { get; set; } /// - /// Maximum allowed memory usage in MB + /// Gets or sets maximum allowed memory usage in MB. /// [JsonProperty(PropertyName = "maxMemoryInMb")] public long? MaxMemoryInMb { get; set; } /// - /// Maximum allowed disk size usage in MB + /// Gets or sets maximum allowed disk size usage in MB. /// [JsonProperty(PropertyName = "maxDiskSizeInMb")] public long? MaxDiskSizeInMb { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLoadBalancing.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLoadBalancing.cs index 78374dacf200..e090d8c2a494 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLoadBalancing.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLoadBalancing.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for SiteLoadBalancing. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum SiteLoadBalancing { [EnumMember(Value = "WeightedRoundRobin")] @@ -30,3 +34,4 @@ public enum SiteLoadBalancing RequestHash } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLogsConfig.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLogsConfig.cs index 3a5fe66e5f45..7196ce43b4d1 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLogsConfig.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteLogsConfig.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Configuration of Azure web site + /// Configuration of App Service site logs. /// [JsonTransformation] public partial class SiteLogsConfig : Resource @@ -30,8 +32,21 @@ public SiteLogsConfig() { } /// /// Initializes a new instance of the SiteLogsConfig class. /// - public SiteLogsConfig(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), ApplicationLogsConfig applicationLogs = default(ApplicationLogsConfig), HttpLogsConfig httpLogs = default(HttpLogsConfig), EnabledConfig failedRequestsTracing = default(EnabledConfig), EnabledConfig detailedErrorMessages = default(EnabledConfig)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Application logs + /// configuration. + /// HTTP logs configuration. + /// Failed requests tracing + /// configuration. + /// Detailed error messages + /// configuration. + public SiteLogsConfig(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), ApplicationLogsConfig applicationLogs = default(ApplicationLogsConfig), HttpLogsConfig httpLogs = default(HttpLogsConfig), EnabledConfig failedRequestsTracing = default(EnabledConfig), EnabledConfig detailedErrorMessages = default(EnabledConfig)) + : base(location, id, name, kind, type, tags) { ApplicationLogs = applicationLogs; HttpLogs = httpLogs; @@ -40,35 +55,47 @@ public SiteLogsConfig() { } } /// - /// Application logs configuration + /// Gets or sets application logs configuration. /// [JsonProperty(PropertyName = "properties.applicationLogs")] public ApplicationLogsConfig ApplicationLogs { get; set; } /// - /// Http logs configuration + /// Gets or sets HTTP logs configuration. /// [JsonProperty(PropertyName = "properties.httpLogs")] public HttpLogsConfig HttpLogs { get; set; } /// - /// Failed requests tracing configuration + /// Gets or sets failed requests tracing configuration. /// [JsonProperty(PropertyName = "properties.failedRequestsTracing")] public EnabledConfig FailedRequestsTracing { get; set; } /// - /// Detailed error messages configuration + /// Gets or sets detailed error messages configuration. /// [JsonProperty(PropertyName = "properties.detailedErrorMessages")] public EnabledConfig DetailedErrorMessages { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); + if (ApplicationLogs != null) + { + ApplicationLogs.Validate(); + } + if (HttpLogs != null) + { + HttpLogs.Validate(); + } } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteMachineKey.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteMachineKey.cs index 0d138c6f0545..092af14aa520 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteMachineKey.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteMachineKey.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// MachineKey of Azure web site + /// MachineKey of an app. /// public partial class SiteMachineKey { @@ -29,6 +27,10 @@ public SiteMachineKey() { } /// /// Initializes a new instance of the SiteMachineKey class. /// + /// MachineKey validation. + /// Validation key. + /// Decryption. + /// Decryption key. public SiteMachineKey(string validation = default(string), string validationKey = default(string), string decryption = default(string), string decryptionKey = default(string)) { Validation = validation; @@ -38,28 +40,29 @@ public SiteMachineKey() { } } /// - /// MachineKeyValidation + /// Gets or sets machineKey validation. /// [JsonProperty(PropertyName = "validation")] public string Validation { get; set; } /// - /// ValidationKey + /// Gets or sets validation key. /// [JsonProperty(PropertyName = "validationKey")] public string ValidationKey { get; set; } /// - /// Decryption + /// Gets or sets decryption. /// [JsonProperty(PropertyName = "decryption")] public string Decryption { get; set; } /// - /// DecryptionKey + /// Gets or sets decryption key. /// [JsonProperty(PropertyName = "decryptionKey")] public string DecryptionKey { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SitePhpErrorLogFlag.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SitePhpErrorLogFlag.cs new file mode 100644 index 000000000000..cd39cfa8d12e --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SitePhpErrorLogFlag.cs @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Used for getting PHP error logging flag. + /// + [JsonTransformation] + public partial class SitePhpErrorLogFlag : Resource + { + /// + /// Initializes a new instance of the SitePhpErrorLogFlag class. + /// + public SitePhpErrorLogFlag() { } + + /// + /// Initializes a new instance of the SitePhpErrorLogFlag class. + /// + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Local log_errors setting. + /// Master log_errors setting. + /// Local log_errors_max_len + /// setting. + /// Master log_errors_max_len + /// setting. + public SitePhpErrorLogFlag(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string localLogErrors = default(string), string masterLogErrors = default(string), string localLogErrorsMaxLength = default(string), string masterLogErrorsMaxLength = default(string)) + : base(location, id, name, kind, type, tags) + { + LocalLogErrors = localLogErrors; + MasterLogErrors = masterLogErrors; + LocalLogErrorsMaxLength = localLogErrorsMaxLength; + MasterLogErrorsMaxLength = masterLogErrorsMaxLength; + } + + /// + /// Gets or sets local log_errors setting. + /// + [JsonProperty(PropertyName = "properties.localLogErrors")] + public string LocalLogErrors { get; set; } + + /// + /// Gets or sets master log_errors setting. + /// + [JsonProperty(PropertyName = "properties.masterLogErrors")] + public string MasterLogErrors { get; set; } + + /// + /// Gets or sets local log_errors_max_len setting. + /// + [JsonProperty(PropertyName = "properties.localLogErrorsMaxLength")] + public string LocalLogErrorsMaxLength { get; set; } + + /// + /// Gets or sets master log_errors_max_len setting. + /// + [JsonProperty(PropertyName = "properties.masterLogErrorsMaxLength")] + public string MasterLogErrorsMaxLength { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public override void Validate() + { + base.Validate(); + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSeal.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSeal.cs new file mode 100644 index 000000000000..d4002c01b72f --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSeal.cs @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Site seal + /// + public partial class SiteSeal + { + /// + /// Initializes a new instance of the SiteSeal class. + /// + public SiteSeal() { } + + /// + /// Initializes a new instance of the SiteSeal class. + /// + /// HTML snippet + public SiteSeal(string html) + { + Html = html; + } + + /// + /// Gets or sets HTML snippet + /// + [JsonProperty(PropertyName = "html")] + public string Html { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Html == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Html"); + } + } + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSealRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSealRequest.cs new file mode 100644 index 000000000000..e0f598d294e2 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSealRequest.cs @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Site seal request. + /// + public partial class SiteSealRequest + { + /// + /// Initializes a new instance of the SiteSealRequest class. + /// + public SiteSealRequest() { } + + /// + /// Initializes a new instance of the SiteSealRequest class. + /// + /// Theme + /// Locale + public SiteSealRequest(bool? lightTheme = default(bool?), string locale = default(string)) + { + LightTheme = lightTheme; + Locale = locale; + } + + /// + /// Gets or sets theme + /// + [JsonProperty(PropertyName = "lightTheme")] + public bool? LightTheme { get; set; } + + /// + /// Gets or sets locale + /// + [JsonProperty(PropertyName = "locale")] + public string Locale { get; set; } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSourceControl.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSourceControl.cs index 1b584d449f42..233dbee7555a 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSourceControl.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SiteSourceControl.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Describes the source control configuration for web app + /// Source control configuration for an app. /// [JsonTransformation] public partial class SiteSourceControl : Resource @@ -30,8 +32,27 @@ public SiteSourceControl() { } /// /// Initializes a new instance of the SiteSourceControl class. /// - public SiteSourceControl(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string repoUrl = default(string), string branch = default(string), bool? isManualIntegration = default(bool?), bool? deploymentRollbackEnabled = default(bool?), bool? isMercurial = default(bool?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Repository or source control URL. + /// Name of branch to use for deployment. + /// <code>true</code> to + /// limit to manual integration; <code>false</code> to + /// enable continuous integration (which configures webhooks into + /// online repos like GitHub). + /// <code>true</code> to + /// enable deployment rollback; otherwise, + /// <code>false</code>. + /// <code>true</code> for a + /// Mercurial repository; <code>false</code> for a Git + /// repository. + public SiteSourceControl(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string repoUrl = default(string), string branch = default(string), bool? isManualIntegration = default(bool?), bool? deploymentRollbackEnabled = default(bool?), bool? isMercurial = default(bool?)) + : base(location, id, name, kind, type, tags) { RepoUrl = repoUrl; Branch = branch; @@ -41,41 +62,54 @@ public SiteSourceControl() { } } /// - /// Repository or source control url + /// Gets or sets repository or source control URL. /// [JsonProperty(PropertyName = "properties.repoUrl")] public string RepoUrl { get; set; } /// - /// Name of branch to use for deployment + /// Gets or sets name of branch to use for deployment. /// [JsonProperty(PropertyName = "properties.branch")] public string Branch { get; set; } /// - /// Whether to manual or continuous integration + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to limit + /// to manual integration; + /// &lt;code&gt;false&lt;/code&gt; to enable continuous + /// integration (which configures webhooks into online repos like + /// GitHub). /// [JsonProperty(PropertyName = "properties.isManualIntegration")] public bool? IsManualIntegration { get; set; } /// - /// Whether to manual or continuous integration + /// Gets or sets &lt;code&gt;true&lt;/code&gt; to + /// enable deployment rollback; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.deploymentRollbackEnabled")] public bool? DeploymentRollbackEnabled { get; set; } /// - /// Mercurial or Git repository type + /// Gets or sets &lt;code&gt;true&lt;/code&gt; for a + /// Mercurial repository; + /// &lt;code&gt;false&lt;/code&gt; for a Git + /// repository. /// [JsonProperty(PropertyName = "properties.isMercurial")] public bool? IsMercurial { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuCapacity.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuCapacity.cs index f9bbcf1876f1..a2a7129940be 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuCapacity.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuCapacity.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Description of the App Service Plan scale options + /// Description of the App Service plan scale options. /// public partial class SkuCapacity { @@ -29,6 +27,14 @@ public SkuCapacity() { } /// /// Initializes a new instance of the SkuCapacity class. /// + /// Minimum number of workers for this App + /// Service plan SKU. + /// Maximum number of workers for this App + /// Service plan SKU. + /// Default number of workers for this + /// App Service plan SKU. + /// Available scale configurations for an App + /// Service plan. public SkuCapacity(int? minimum = default(int?), int? maximum = default(int?), int? defaultProperty = default(int?), string scaleType = default(string)) { Minimum = minimum; @@ -38,28 +44,33 @@ public SkuCapacity() { } } /// - /// Minimum number of Workers for this App Service Plan SKU + /// Gets or sets minimum number of workers for this App Service plan + /// SKU. /// [JsonProperty(PropertyName = "minimum")] public int? Minimum { get; set; } /// - /// Maximum number of Workers for this App Service Plan SKU + /// Gets or sets maximum number of workers for this App Service plan + /// SKU. /// [JsonProperty(PropertyName = "maximum")] public int? Maximum { get; set; } /// - /// Default number of Workers for this App Service Plan SKU + /// Gets or sets default number of workers for this App Service plan + /// SKU. /// [JsonProperty(PropertyName = "default")] public int? DefaultProperty { get; set; } /// - /// Available scale configurations for an App Service Plan + /// Gets or sets available scale configurations for an App Service + /// plan. /// [JsonProperty(PropertyName = "scaleType")] public string ScaleType { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuDescription.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuDescription.cs index edb8970f681d..9ecf30bf2401 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuDescription.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuDescription.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Describes a sku for a scalable resource + /// Description of a SKU for a scalable resource. /// public partial class SkuDescription { @@ -29,6 +29,17 @@ public SkuDescription() { } /// /// Initializes a new instance of the SkuDescription class. /// + /// Name of the resource SKU. + /// Service tier of the resource SKU. + /// Size specifier of the resource SKU. + /// Family code of the resource SKU. + /// Current number of instances assigned to the + /// resource. + /// Min, max, and default scale values of the + /// SKU. + /// Locations of the SKU. + /// Capabilities of the SKU, e.g., is + /// traffic manager enabled? public SkuDescription(string name = default(string), string tier = default(string), string size = default(string), string family = default(string), int? capacity = default(int?), SkuCapacity skuCapacity = default(SkuCapacity), IList locations = default(IList), IList capabilities = default(IList)) { Name = name; @@ -42,52 +53,54 @@ public SkuDescription() { } } /// - /// Name of the resource sku + /// Gets or sets name of the resource SKU. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Service Tier of the resource sku + /// Gets or sets service tier of the resource SKU. /// [JsonProperty(PropertyName = "tier")] public string Tier { get; set; } /// - /// Size specifier of the resource sku + /// Gets or sets size specifier of the resource SKU. /// [JsonProperty(PropertyName = "size")] public string Size { get; set; } /// - /// Family code of the resource sku + /// Gets or sets family code of the resource SKU. /// [JsonProperty(PropertyName = "family")] public string Family { get; set; } /// - /// Current number of instances assigned to the resource + /// Gets or sets current number of instances assigned to the resource. /// [JsonProperty(PropertyName = "capacity")] public int? Capacity { get; set; } /// - /// Min, max, and default scale values of the sku + /// Gets or sets min, max, and default scale values of the SKU. /// [JsonProperty(PropertyName = "skuCapacity")] public SkuCapacity SkuCapacity { get; set; } /// - /// Locations of the sku + /// Gets or sets locations of the SKU. /// [JsonProperty(PropertyName = "locations")] public IList Locations { get; set; } /// - /// Capabilities of the sku, eg., is traffic manager enabled? + /// Gets or sets capabilities of the SKU, e.g., is traffic manager + /// enabled? /// [JsonProperty(PropertyName = "capabilities")] public IList Capabilities { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuInfo.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuInfo.cs index cd313ad58816..8ffe4dafaa89 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuInfo.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuInfo.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Sku discovery information + /// SKU discovery information. /// public partial class SkuInfo { @@ -29,6 +27,11 @@ public SkuInfo() { } /// /// Initializes a new instance of the SkuInfo class. /// + /// Resource type that this SKU applies + /// to. + /// Name and tier of the SKU. + /// Min, max, and default scale values of the + /// SKU. public SkuInfo(string resourceType = default(string), SkuDescription sku = default(SkuDescription), SkuCapacity capacity = default(SkuCapacity)) { ResourceType = resourceType; @@ -37,22 +40,23 @@ public SkuInfo() { } } /// - /// Resource type that this sku applies to + /// Gets or sets resource type that this SKU applies to. /// [JsonProperty(PropertyName = "resourceType")] public string ResourceType { get; set; } /// - /// Name and tier of the sku + /// Gets or sets name and tier of the SKU. /// [JsonProperty(PropertyName = "sku")] public SkuDescription Sku { get; set; } /// - /// Min, max, and default scale values of the sku + /// Gets or sets min, max, and default scale values of the SKU. /// [JsonProperty(PropertyName = "capacity")] public SkuCapacity Capacity { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuInfos.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuInfos.cs new file mode 100644 index 000000000000..a57b5ecfe7b4 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuInfos.cs @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Collection of SKU information. + /// + public partial class SkuInfos + { + /// + /// Initializes a new instance of the SkuInfos class. + /// + public SkuInfos() { } + + /// + /// Initializes a new instance of the SkuInfos class. + /// + /// Resource type that this SKU applies + /// to. + /// List of SKUs the subscription is able to + /// use. + public SkuInfos(string resourceType = default(string), IList skus = default(IList)) + { + ResourceType = resourceType; + Skus = skus; + } + + /// + /// Gets or sets resource type that this SKU applies to. + /// + [JsonProperty(PropertyName = "resourceType")] + public string ResourceType { get; set; } + + /// + /// Gets or sets list of SKUs the subscription is able to use. + /// + [JsonProperty(PropertyName = "skus")] + public IList Skus { get; set; } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuName.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuName.cs new file mode 100644 index 000000000000..1ab642104328 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SkuName.cs @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + + /// + /// Defines values for SkuName. + /// + public static class SkuName + { + public const string Free = "Free"; + public const string Shared = "Shared"; + public const string Basic = "Basic"; + public const string Standard = "Standard"; + public const string Premium = "Premium"; + public const string Dynamic = "Dynamic"; + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotConfigNamesResource.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotConfigNamesResource.cs index 362cd662eafc..1e6f517e21ac 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotConfigNamesResource.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotConfigNamesResource.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Slot Config names azure resource + /// Slot Config names azure resource. /// [JsonTransformation] public partial class SlotConfigNamesResource : Resource @@ -30,31 +32,45 @@ public SlotConfigNamesResource() { } /// /// Initializes a new instance of the SlotConfigNamesResource class. /// - public SlotConfigNamesResource(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), IList connectionStringNames = default(IList), IList appSettingNames = default(IList)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// List of connection string + /// names. + /// List of application settings + /// names. + public SlotConfigNamesResource(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), IList connectionStringNames = default(IList), IList appSettingNames = default(IList)) + : base(location, id, name, kind, type, tags) { ConnectionStringNames = connectionStringNames; AppSettingNames = appSettingNames; } /// - /// List of connection string names + /// Gets or sets list of connection string names. /// [JsonProperty(PropertyName = "properties.connectionStringNames")] public IList ConnectionStringNames { get; set; } /// - /// List of application settings names + /// Gets or sets list of application settings names. /// [JsonProperty(PropertyName = "properties.appSettingNames")] public IList AppSettingNames { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotDifference.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotDifference.cs index 174a66b0ab1b..da0a1ad97115 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotDifference.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotDifference.cs @@ -1,24 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// An object describing the difference in setting values between two web - /// app slots + /// A setting difference between two deployment slots of an app. /// [JsonTransformation] public partial class SlotDifference : Resource @@ -31,8 +32,27 @@ public SlotDifference() { } /// /// Initializes a new instance of the SlotDifference class. /// - public SlotDifference(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string slotDifferenceType = default(string), string settingType = default(string), string diffRule = default(string), string settingName = default(string), string valueInCurrentSlot = default(string), string valueInTargetSlot = default(string), string description = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Type of the difference: + /// Information, Warning or Error. + /// The type of the setting: General, + /// AppSetting or ConnectionString. + /// Rule that describes how to process the + /// setting difference during a slot swap. + /// Name of the setting. + /// Value of the setting in the + /// current slot. + /// Value of the setting in the target + /// slot. + /// Description of the setting + /// difference. + public SlotDifference(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string slotDifferenceType = default(string), string settingType = default(string), string diffRule = default(string), string settingName = default(string), string valueInCurrentSlot = default(string), string valueInTargetSlot = default(string), string description = default(string)) + : base(location, id, name, kind, type, tags) { SlotDifferenceType = slotDifferenceType; SettingType = settingType; @@ -44,55 +64,59 @@ public SlotDifference() { } } /// - /// Indicates the type of the difference: Information, Warning or - /// Error. + /// Gets type of the difference: Information, Warning or Error. /// [JsonProperty(PropertyName = "properties.type")] - public string SlotDifferenceType { get; set; } + public string SlotDifferenceType { get; protected set; } /// - /// The type of the settings: General, AppSetting or ConnectionString + /// Gets the type of the setting: General, AppSetting or + /// ConnectionString. /// [JsonProperty(PropertyName = "properties.settingType")] - public string SettingType { get; set; } + public string SettingType { get; protected set; } /// - /// Rule that describes how to process the difference in settings - /// during web app slot swap. + /// Gets rule that describes how to process the setting difference + /// during a slot swap. /// [JsonProperty(PropertyName = "properties.diffRule")] - public string DiffRule { get; set; } + public string DiffRule { get; protected set; } /// - /// Name of the setting + /// Gets name of the setting. /// [JsonProperty(PropertyName = "properties.settingName")] - public string SettingName { get; set; } + public string SettingName { get; protected set; } /// - /// Value of the setting in the current web app slot + /// Gets value of the setting in the current slot. /// [JsonProperty(PropertyName = "properties.valueInCurrentSlot")] - public string ValueInCurrentSlot { get; set; } + public string ValueInCurrentSlot { get; protected set; } /// - /// Value of the setting in the target web app slot + /// Gets value of the setting in the target slot. /// [JsonProperty(PropertyName = "properties.valueInTargetSlot")] - public string ValueInTargetSlot { get; set; } + public string ValueInTargetSlot { get; protected set; } /// - /// Description of the difference + /// Gets description of the setting difference. /// [JsonProperty(PropertyName = "properties.description")] - public string Description { get; set; } + public string Description { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotSwapStatus.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotSwapStatus.cs new file mode 100644 index 000000000000..c0648a1d49c2 --- /dev/null +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlotSwapStatus.cs @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Azure.Management.WebSites.Models +{ + using Azure; + using Management; + using WebSites; + using Newtonsoft.Json; + using System.Linq; + + /// + /// The status of the last successfull slot swap operation. + /// + public partial class SlotSwapStatus + { + /// + /// Initializes a new instance of the SlotSwapStatus class. + /// + public SlotSwapStatus() { } + + /// + /// Initializes a new instance of the SlotSwapStatus class. + /// + /// The time the last successful slot swap + /// completed. + /// The source slot of the last swap + /// operation. + /// The destination slot of the last + /// swap operation. + public SlotSwapStatus(System.DateTime? timestampUtc = default(System.DateTime?), string sourceSlotName = default(string), string destinationSlotName = default(string)) + { + TimestampUtc = timestampUtc; + SourceSlotName = sourceSlotName; + DestinationSlotName = destinationSlotName; + } + + /// + /// Gets the time the last successful slot swap completed. + /// + [JsonProperty(PropertyName = "timestampUtc")] + public System.DateTime? TimestampUtc { get; protected set; } + + /// + /// Gets the source slot of the last swap operation. + /// + [JsonProperty(PropertyName = "sourceSlotName")] + public string SourceSlotName { get; protected set; } + + /// + /// Gets the destination slot of the last swap operation. + /// + [JsonProperty(PropertyName = "destinationSlotName")] + public string DestinationSlotName { get; protected set; } + + } +} + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlowRequestsBasedTrigger.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlowRequestsBasedTrigger.cs index fa31843785ed..9cf3d48f3c7d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlowRequestsBasedTrigger.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SlowRequestsBasedTrigger.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// SlowRequestsBasedTrigger + /// Trigger based on request execution time. /// public partial class SlowRequestsBasedTrigger { @@ -29,6 +27,9 @@ public SlowRequestsBasedTrigger() { } /// /// Initializes a new instance of the SlowRequestsBasedTrigger class. /// + /// Time taken. + /// Count. + /// Time interval. public SlowRequestsBasedTrigger(string timeTaken = default(string), int? count = default(int?), string timeInterval = default(string)) { TimeTaken = timeTaken; @@ -37,22 +38,23 @@ public SlowRequestsBasedTrigger() { } } /// - /// TimeTaken + /// Gets or sets time taken. /// [JsonProperty(PropertyName = "timeTaken")] public string TimeTaken { get; set; } /// - /// Count + /// Gets or sets count. /// [JsonProperty(PropertyName = "count")] public int? Count { get; set; } /// - /// TimeInterval + /// Gets or sets time interval. /// [JsonProperty(PropertyName = "timeInterval")] public string TimeInterval { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Snapshot.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Snapshot.cs index 53fe5a217eff..03e524e6a4e5 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Snapshot.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Snapshot.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// A snapshot of a web app + /// A snapshot of an app. /// [JsonTransformation] public partial class Snapshot : Resource @@ -30,24 +32,35 @@ public Snapshot() { } /// /// Initializes a new instance of the Snapshot class. /// - public Snapshot(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), DateTime? time = default(DateTime?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The time the snapshot was taken. + public Snapshot(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), System.DateTime? time = default(System.DateTime?)) + : base(location, id, name, kind, type, tags) { Time = time; } /// - /// The time the snapshot was taken + /// Gets the time the snapshot was taken. /// [JsonProperty(PropertyName = "properties.time")] - public DateTime? Time { get; set; } + public System.DateTime? Time { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SourceControl.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SourceControl.cs index 296742939d5a..8fa0832565a4 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SourceControl.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SourceControl.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Describes the Source Control OAuth Token + /// The source control OAuth token. /// [JsonTransformation] public partial class SourceControl : Resource @@ -30,8 +32,20 @@ public SourceControl() { } /// /// Initializes a new instance of the SourceControl class. /// - public SourceControl(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string sourceControlName = default(string), string token = default(string), string tokenSecret = default(string), string refreshToken = default(string), DateTime? expirationTime = default(DateTime?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name or source control + /// type. + /// OAuth access token. + /// OAuth access token secret. + /// OAuth refresh token. + /// OAuth token expiration. + public SourceControl(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string sourceControlName = default(string), string token = default(string), string tokenSecret = default(string), string refreshToken = default(string), System.DateTime? expirationTime = default(System.DateTime?)) + : base(location, id, name, kind, type, tags) { SourceControlName = sourceControlName; Token = token; @@ -41,41 +55,45 @@ public SourceControl() { } } /// - /// Name or Source Control Type + /// Gets or sets name or source control type. /// [JsonProperty(PropertyName = "properties.name")] public string SourceControlName { get; set; } /// - /// OAuth Access Token + /// Gets or sets oAuth access token. /// [JsonProperty(PropertyName = "properties.token")] public string Token { get; set; } /// - /// OAuth Access Token Secret + /// Gets or sets oAuth access token secret. /// [JsonProperty(PropertyName = "properties.tokenSecret")] public string TokenSecret { get; set; } /// - /// OAuth Refresh Token + /// Gets or sets oAuth refresh token. /// [JsonProperty(PropertyName = "properties.refreshToken")] public string RefreshToken { get; set; } /// - /// OAuth Token Expiration + /// Gets or sets oAuth token expiration. /// [JsonProperty(PropertyName = "properties.expirationTime")] - public DateTime? ExpirationTime { get; set; } + public System.DateTime? ExpirationTime { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SslState.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SslState.cs index f543da7e85c5..a202fe2a22ff 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SslState.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/SslState.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for SslState. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum SslState { [EnumMember(Value = "Disabled")] @@ -26,3 +30,4 @@ public enum SslState IpBasedEnabled } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StampCapacity.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StampCapacity.cs index 8e4b3c1e00da..9ee04ff6c801 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StampCapacity.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StampCapacity.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Class containing stamp capacity information + /// Stamp capacity information. /// public partial class StampCapacity { @@ -29,6 +27,28 @@ public StampCapacity() { } /// /// Initializes a new instance of the StampCapacity class. /// + /// Name of the stamp. + /// Available capacity (# of machines, + /// bytes of storage etc...). + /// Total capacity (# of machines, bytes of + /// storage etc...). + /// Name of the unit. + /// Shared/dedicated workers. Possible values + /// include: 'Shared', 'Dedicated', 'Dynamic' + /// Size of the machines. Possible values + /// include: 'Default', 'Small', 'Medium', 'Large' + /// Size ID of machines: + /// 0 - Small + /// 1 - Medium + /// 2 - Large + /// If + /// <code>true</code>, it includes basic apps. + /// Basic apps are not used for capacity allocation. + /// <code>true</code> + /// if capacity is applicable for all apps; otherwise, + /// <code>false</code>. + /// Shared or Dedicated. public StampCapacity(string name = default(string), long? availableCapacity = default(long?), long? totalCapacity = default(long?), string unit = default(string), ComputeModeOptions? computeMode = default(ComputeModeOptions?), WorkerSizeOptions? workerSize = default(WorkerSizeOptions?), int? workerSizeId = default(int?), bool? excludeFromCapacityAllocation = default(bool?), bool? isApplicableForAllComputeModes = default(bool?), string siteMode = default(string)) { Name = name; @@ -44,45 +64,47 @@ public StampCapacity() { } } /// - /// Name of the stamp + /// Gets or sets name of the stamp. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Available capacity (# of machines, bytes of storage etc...) + /// Gets or sets available capacity (# of machines, bytes of storage + /// etc...). /// [JsonProperty(PropertyName = "availableCapacity")] public long? AvailableCapacity { get; set; } /// - /// Total capacity (# of machines, bytes of storage etc...) + /// Gets or sets total capacity (# of machines, bytes of storage + /// etc...). /// [JsonProperty(PropertyName = "totalCapacity")] public long? TotalCapacity { get; set; } /// - /// Name of the unit + /// Gets or sets name of the unit. /// [JsonProperty(PropertyName = "unit")] public string Unit { get; set; } /// - /// Shared/Dedicated workers. Possible values include: 'Shared', - /// 'Dedicated', 'Dynamic' + /// Gets or sets shared/dedicated workers. Possible values include: + /// 'Shared', 'Dedicated', 'Dynamic' /// [JsonProperty(PropertyName = "computeMode")] public ComputeModeOptions? ComputeMode { get; set; } /// - /// Size of the machines. Possible values include: 'Default', 'Small', - /// 'Medium', 'Large' + /// Gets or sets size of the machines. Possible values include: + /// 'Default', 'Small', 'Medium', 'Large' /// [JsonProperty(PropertyName = "workerSize")] public WorkerSizeOptions? WorkerSize { get; set; } /// - /// Size Id of machines: + /// Gets or sets size ID of machines: /// 0 - Small /// 1 - Medium /// 2 - Large @@ -91,23 +113,27 @@ public StampCapacity() { } public int? WorkerSizeId { get; set; } /// - /// If true it includes basic sites - /// Basic sites are not used for capacity allocation. + /// Gets or sets if &lt;code&gt;true&lt;/code&gt;, it + /// includes basic apps. + /// Basic apps are not used for capacity allocation. /// [JsonProperty(PropertyName = "excludeFromCapacityAllocation")] public bool? ExcludeFromCapacityAllocation { get; set; } /// - /// Is capacity applicable for all sites? + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// capacity is applicable for all apps; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "isApplicableForAllComputeModes")] public bool? IsApplicableForAllComputeModes { get; set; } /// - /// Shared or Dedicated + /// Gets or sets shared or Dedicated. /// [JsonProperty(PropertyName = "siteMode")] public string SiteMode { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusCodesBasedTrigger.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusCodesBasedTrigger.cs index 6280b57fcf69..7bd631e762a1 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusCodesBasedTrigger.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusCodesBasedTrigger.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// StatusCodeBasedTrigger + /// Trigger based on status code. /// public partial class StatusCodesBasedTrigger { @@ -29,6 +27,11 @@ public StatusCodesBasedTrigger() { } /// /// Initializes a new instance of the StatusCodesBasedTrigger class. /// + /// HTTP status code. + /// SubStatus. + /// Win32 error code. + /// Count. + /// Time interval. public StatusCodesBasedTrigger(int? status = default(int?), int? subStatus = default(int?), int? win32Status = default(int?), int? count = default(int?), string timeInterval = default(string)) { Status = status; @@ -39,34 +42,35 @@ public StatusCodesBasedTrigger() { } } /// - /// HTTP status code + /// Gets or sets HTTP status code. /// [JsonProperty(PropertyName = "status")] public int? Status { get; set; } /// - /// SubStatus + /// Gets or sets subStatus. /// [JsonProperty(PropertyName = "subStatus")] public int? SubStatus { get; set; } /// - /// Win32 error code + /// Gets or sets win32 error code. /// [JsonProperty(PropertyName = "win32Status")] public int? Win32Status { get; set; } /// - /// Count + /// Gets or sets count. /// [JsonProperty(PropertyName = "count")] public int? Count { get; set; } /// - /// TimeInterval + /// Gets or sets time interval. /// [JsonProperty(PropertyName = "timeInterval")] public string TimeInterval { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusOptions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusOptions.cs index b771d6a089ce..d8c6b55058db 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusOptions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StatusOptions.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for StatusOptions. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum StatusOptions { [EnumMember(Value = "Ready")] @@ -24,3 +28,4 @@ public enum StatusOptions Pending } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationOptions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationOptions.cs index 575615356ec9..070195f2c0fd 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationOptions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationOptions.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Description of a backup which will be performed + /// Options for app content migration. /// [JsonTransformation] public partial class StorageMigrationOptions : Resource @@ -30,8 +32,24 @@ public StorageMigrationOptions() { } /// /// Initializes a new instance of the StorageMigrationOptions class. /// - public StorageMigrationOptions(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string azurefilesConnectionString = default(string), string azurefilesShare = default(string), bool? switchSiteAfterMigration = default(bool?), bool? blockWriteAccessToSite = default(bool?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// AzureFiles connection + /// string. + /// AzureFiles share. + /// <code>true</code>if the + /// app should be switched over; otherwise, + /// <code>false</code>. + /// <code>true</code> + /// if the app should be read only during copy operation; otherwise, + /// <code>false</code>. + public StorageMigrationOptions(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string azurefilesConnectionString = default(string), string azurefilesShare = default(string), bool? switchSiteAfterMigration = default(bool?), bool? blockWriteAccessToSite = default(bool?)) + : base(location, id, name, kind, type, tags) { AzurefilesConnectionString = azurefilesConnectionString; AzurefilesShare = azurefilesShare; @@ -40,35 +58,43 @@ public StorageMigrationOptions() { } } /// - /// AzureFiles connection string + /// Gets or sets azureFiles connection string. /// [JsonProperty(PropertyName = "properties.azurefilesConnectionString")] public string AzurefilesConnectionString { get; set; } /// - /// AzureFiles share + /// Gets or sets azureFiles share. /// [JsonProperty(PropertyName = "properties.azurefilesShare")] public string AzurefilesShare { get; set; } /// - /// Indicate if site should be switched over + /// Gets or sets &lt;code&gt;true&lt;/code&gt;if the + /// app should be switched over; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.switchSiteAfterMigration")] public bool? SwitchSiteAfterMigration { get; set; } /// - /// Indicate if the site should be read only during copy operation + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if the + /// app should be read only during copy operation; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.blockWriteAccessToSite")] public bool? BlockWriteAccessToSite { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationResponse.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationResponse.cs index e9c4dbbda162..6b0ed7a70d1b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationResponse.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StorageMigrationResponse.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Response for a migration of site content request + /// Response for a migration of app content request. /// [JsonTransformation] public partial class StorageMigrationResponse : Resource @@ -30,25 +32,38 @@ public StorageMigrationResponse() { } /// /// Initializes a new instance of the StorageMigrationResponse class. /// - public StorageMigrationResponse(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string operationId = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// When server starts the migration process, + /// it will return an operation ID identifying that particular + /// migration operation. + public StorageMigrationResponse(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string operationId = default(string)) + : base(location, id, name, kind, type, tags) { OperationId = operationId; } /// - /// When server starts the migration process, it will return an - /// OperationId identifying that particular migration operation + /// Gets when server starts the migration process, it will return an + /// operation ID identifying that particular migration operation. /// [JsonProperty(PropertyName = "properties.operationId")] - public string OperationId { get; set; } + public string OperationId { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StringDictionary.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StringDictionary.cs index ac0e0b0cc3d8..af194cf36658 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StringDictionary.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/StringDictionary.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// String dictionary resource + /// String dictionary resource. /// public partial class StringDictionary : Resource { @@ -29,24 +29,35 @@ public StringDictionary() { } /// /// Initializes a new instance of the StringDictionary class. /// - public StringDictionary(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), IDictionary properties = default(IDictionary)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Settings. + public StringDictionary(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), IDictionary properties = default(IDictionary)) + : base(location, id, name, kind, type, tags) { Properties = properties; } /// - /// Settings + /// Gets or sets settings. /// [JsonProperty(PropertyName = "properties")] public IDictionary Properties { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TldLegalAgreement.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TldLegalAgreement.cs index e3c3c86c3c95..8fd65fa0800f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TldLegalAgreement.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TldLegalAgreement.cs @@ -1,23 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Represents a legal agreement for top level domain + /// Legal agreement for a top level domain. /// public partial class TldLegalAgreement { @@ -29,7 +28,13 @@ public TldLegalAgreement() { } /// /// Initializes a new instance of the TldLegalAgreement class. /// - public TldLegalAgreement(string agreementKey = default(string), string title = default(string), string content = default(string), string url = default(string)) + /// Unique identifier for the + /// agreement. + /// Agreement title. + /// Agreement details. + /// URL where a copy of the agreement details is + /// hosted. + public TldLegalAgreement(string agreementKey, string title, string content, string url = default(string)) { AgreementKey = agreementKey; Title = title; @@ -38,28 +43,50 @@ public TldLegalAgreement() { } } /// - /// Unique identifier for the agreement + /// Gets or sets unique identifier for the agreement. /// [JsonProperty(PropertyName = "agreementKey")] public string AgreementKey { get; set; } /// - /// Agreement title + /// Gets or sets agreement title. /// [JsonProperty(PropertyName = "title")] public string Title { get; set; } /// - /// Agreement details + /// Gets or sets agreement details. /// [JsonProperty(PropertyName = "content")] public string Content { get; set; } /// - /// Url where a copy of the agreement details is hosted + /// Gets or sets URL where a copy of the agreement details is hosted. /// [JsonProperty(PropertyName = "url")] public string Url { get; set; } + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (AgreementKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "AgreementKey"); + } + if (Title == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Title"); + } + if (Content == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Content"); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomain.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomain.cs index ae56d4124ee8..42c1b937d69c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomain.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomain.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// A top level domain object + /// A top level domain object. /// [JsonTransformation] public partial class TopLevelDomain : Resource @@ -30,31 +32,47 @@ public TopLevelDomain() { } /// /// Initializes a new instance of the TopLevelDomain class. /// - public TopLevelDomain(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string topLevelDomainName = default(string), bool? privacy = default(bool?)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Name of the top level domain. + /// If <code>true</code>, then the + /// top level domain supports domain privacy; otherwise, + /// <code>false</code>. + public TopLevelDomain(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string domainName = default(string), bool? privacy = default(bool?)) + : base(location, id, name, kind, type, tags) { - TopLevelDomainName = topLevelDomainName; + DomainName = domainName; Privacy = privacy; } /// - /// Name of the top level domain + /// Gets name of the top level domain. /// [JsonProperty(PropertyName = "properties.name")] - public string TopLevelDomainName { get; set; } + public string DomainName { get; protected set; } /// - /// If true then the top level domain supports domain privacy + /// Gets or sets if &lt;code&gt;true&lt;/code&gt;, then + /// the top level domain supports domain privacy; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.privacy")] public bool? Privacy { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomainAgreementOption.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomainAgreementOption.cs index 23506e7f9e03..e5f534e6756c 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomainAgreementOption.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/TopLevelDomainAgreementOption.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Options for retrieving the list of top level domain legal agreements + /// Options for retrieving the list of top level domain legal agreements. /// public partial class TopLevelDomainAgreementOption { @@ -31,17 +29,22 @@ public TopLevelDomainAgreementOption() { } /// Initializes a new instance of the TopLevelDomainAgreementOption /// class. /// + /// If <code>true</code>, then + /// the list of agreements will include agreements for domain privacy + /// as well; otherwise, <code>false</code>. public TopLevelDomainAgreementOption(bool? includePrivacy = default(bool?)) { IncludePrivacy = includePrivacy; } /// - /// If true then the list of agreements will inclue agreements for - /// domain privacy as well. + /// Gets or sets if &lt;code&gt;true&lt;/code&gt;, then + /// the list of agreements will include agreements for domain privacy + /// as well; otherwise, &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "includePrivacy")] public bool? IncludePrivacy { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UnauthenticatedClientAction.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UnauthenticatedClientAction.cs index 5d589ef8c494..796144cd28a7 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UnauthenticatedClientAction.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UnauthenticatedClientAction.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for UnauthenticatedClientAction. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum UnauthenticatedClientAction { [EnumMember(Value = "RedirectToLoginPage")] @@ -24,3 +28,4 @@ public enum UnauthenticatedClientAction AllowAnonymous } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Usage.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Usage.cs index 1392ec7cdf6a..2dbab36aaf4b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Usage.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/Usage.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Class that represents usage of the quota resource. + /// Usage of the quota resource. /// [JsonTransformation] public partial class Usage : Resource @@ -30,8 +32,27 @@ public Usage() { } /// /// Initializes a new instance of the Usage class. /// - public Usage(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string displayName = default(string), string usageName = default(string), string resourceName = default(string), string unit = default(string), long? currentValue = default(long?), long? limit = default(long?), DateTime? nextResetTime = default(DateTime?), ComputeModeOptions? computeMode = default(ComputeModeOptions?), string siteMode = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Friendly name shown in the UI. + /// Name of the quota. + /// Name of the quota resource. + /// Units of measurement for the quota + /// resource. + /// The current value of the resource + /// counter. + /// The resource limit. + /// Next reset time for the resource + /// counter. + /// Compute mode used for this usage. + /// Possible values include: 'Shared', 'Dedicated', 'Dynamic' + /// Site mode used for this usage. + public Usage(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string displayName = default(string), string usageName = default(string), string resourceName = default(string), string unit = default(string), long? currentValue = default(long?), long? limit = default(long?), System.DateTime? nextResetTime = default(System.DateTime?), ComputeModeOptions? computeMode = default(ComputeModeOptions?), string siteMode = default(string)) + : base(location, id, name, kind, type, tags) { DisplayName = displayName; UsageName = usageName; @@ -45,66 +66,70 @@ public Usage() { } } /// - /// Friendly name shown in the UI + /// Gets friendly name shown in the UI. /// [JsonProperty(PropertyName = "properties.displayName")] - public string DisplayName { get; set; } + public string DisplayName { get; protected set; } /// - /// Name of the quota + /// Gets name of the quota. /// [JsonProperty(PropertyName = "properties.name")] - public string UsageName { get; set; } + public string UsageName { get; protected set; } /// - /// Name of the quota resource + /// Gets name of the quota resource. /// [JsonProperty(PropertyName = "properties.resourceName")] - public string ResourceName { get; set; } + public string ResourceName { get; protected set; } /// - /// Units of measurement for the quota resource + /// Gets units of measurement for the quota resource. /// [JsonProperty(PropertyName = "properties.unit")] - public string Unit { get; set; } + public string Unit { get; protected set; } /// - /// The current value of the resource counter + /// Gets the current value of the resource counter. /// [JsonProperty(PropertyName = "properties.currentValue")] - public long? CurrentValue { get; set; } + public long? CurrentValue { get; protected set; } /// - /// The resource limit + /// Gets the resource limit. /// [JsonProperty(PropertyName = "properties.limit")] - public long? Limit { get; set; } + public long? Limit { get; protected set; } /// - /// Next reset time for the resource counter + /// Gets next reset time for the resource counter. /// [JsonProperty(PropertyName = "properties.nextResetTime")] - public DateTime? NextResetTime { get; set; } + public System.DateTime? NextResetTime { get; protected set; } /// - /// ComputeMode used for this usage. Possible values include: + /// Gets compute mode used for this usage. Possible values include: /// 'Shared', 'Dedicated', 'Dynamic' /// [JsonProperty(PropertyName = "properties.computeMode")] - public ComputeModeOptions? ComputeMode { get; set; } + public ComputeModeOptions? ComputeMode { get; protected set; } /// - /// SiteMode used for this usage + /// Gets site mode used for this usage. /// [JsonProperty(PropertyName = "properties.siteMode")] - public string SiteMode { get; set; } + public string SiteMode { get; protected set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UsageState.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UsageState.cs index ccadd4c41ad9..aa5ffab01444 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UsageState.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/UsageState.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for UsageState. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum UsageState { [EnumMember(Value = "Normal")] @@ -24,3 +28,4 @@ public enum UsageState Exceeded } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/User.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/User.cs index 9e3dbc917a50..a595cd14ab75 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/User.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/User.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Represents user crendentials used for publishing activity + /// User crendentials used for publishing activity. /// [JsonTransformation] public partial class User : Resource @@ -30,8 +32,23 @@ public User() { } /// /// Initializes a new instance of the User class. /// - public User(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string userName = default(string), string publishingUserName = default(string), string publishingPassword = default(string), string publishingPasswordHash = default(string), string publishingPasswordHashSalt = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Username + /// Username used for + /// publishing. + /// Password used for + /// publishing. + /// Password hash used for + /// publishing. + /// Password hash salt used + /// for publishing. + public User(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string userName = default(string), string publishingUserName = default(string), string publishingPassword = default(string), string publishingPasswordHash = default(string), string publishingPasswordHashSalt = default(string)) + : base(location, id, name, kind, type, tags) { UserName = userName; PublishingUserName = publishingUserName; @@ -41,41 +58,45 @@ public User() { } } /// - /// Username (internal) + /// Gets or sets username /// [JsonProperty(PropertyName = "properties.name")] public string UserName { get; set; } /// - /// Username used for publishing + /// Gets or sets username used for publishing. /// [JsonProperty(PropertyName = "properties.publishingUserName")] public string PublishingUserName { get; set; } /// - /// Password used for publishing + /// Gets or sets password used for publishing. /// [JsonProperty(PropertyName = "properties.publishingPassword")] public string PublishingPassword { get; set; } /// - /// PasswordHash used for publishing + /// Gets or sets password hash used for publishing. /// [JsonProperty(PropertyName = "properties.publishingPasswordHash")] public string PublishingPasswordHash { get; set; } /// - /// PasswordHashSalt used for publishing + /// Gets or sets password hash salt used for publishing. /// [JsonProperty(PropertyName = "properties.publishingPasswordHashSalt")] public string PublishingPasswordHashSalt { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateProperties.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateProperties.cs deleted file mode 100644 index 06ad5a022efc..000000000000 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateProperties.cs +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. - -namespace Microsoft.Azure.Management.WebSites.Models -{ - using System; - using System.Linq; - using System.Collections.Generic; - using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; - - /// - /// Site properties used for validation - /// - public partial class ValidateProperties - { - /// - /// Initializes a new instance of the ValidateProperties class. - /// - public ValidateProperties() { } - - /// - /// Initializes a new instance of the ValidateProperties class. - /// - public ValidateProperties(string serverFarmId = default(string), string skuName = default(string), int? capacity = default(int?), string hostingEnvironment = default(string)) - { - ServerFarmId = serverFarmId; - SkuName = skuName; - Capacity = capacity; - HostingEnvironment = hostingEnvironment; - } - - /// - /// ARM resource id of an app service plan that would host the web app - /// - [JsonProperty(PropertyName = "serverFarmId")] - public string ServerFarmId { get; set; } - - /// - /// Name of the target SKU for the server farm - /// - [JsonProperty(PropertyName = "skuName")] - public string SkuName { get; set; } - - /// - /// Target capacity of the server farm (number of VM's) - /// - [JsonProperty(PropertyName = "capacity")] - public int? Capacity { get; set; } - - /// - /// Name of app service environment where site or server farm should - /// be created - /// - [JsonProperty(PropertyName = "hostingEnvironment")] - public string HostingEnvironment { get; set; } - - } -} diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateRequest.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateRequest.cs index 97d0534ebf3c..c034ddffda33 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateRequest.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateRequest.cs @@ -1,24 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Resource validation request content + /// Resource validation request content. /// + [JsonTransformation] public partial class ValidateRequest { /// @@ -29,38 +30,112 @@ public ValidateRequest() { } /// /// Initializes a new instance of the ValidateRequest class. /// - public ValidateRequest(string name = default(string), string type = default(string), string location = default(string), ValidateProperties properties = default(ValidateProperties)) + /// Resource name to verify. + /// Resource type used for verification. Possible + /// values include: 'ServerFarm', 'Site' + /// Expected location of the resource. + /// ARM resource ID of an App Service plan + /// that would host the app. + /// Name of the target SKU for the App Service + /// plan. + /// <code>true</code> if App + /// Service plan is for Linux workers; otherwise, + /// <code>false</code>. + /// Target capacity of the App Service plan + /// (number of VM's). + /// Name of App Service Environment + /// where app or App Service plan should be created. + public ValidateRequest(string name, string type, string location, string serverFarmId = default(string), string skuName = default(string), bool? needLinuxWorkers = default(bool?), int? capacity = default(int?), string hostingEnvironment = default(string)) { Name = name; Type = type; Location = location; - Properties = properties; + ServerFarmId = serverFarmId; + SkuName = skuName; + NeedLinuxWorkers = needLinuxWorkers; + Capacity = capacity; + HostingEnvironment = hostingEnvironment; } /// - /// Resource name to verify + /// Gets or sets resource name to verify. /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// - /// Resource type used for verification. Possible values include: - /// 'ServerFarm', 'Site' + /// Gets or sets resource type used for verification. Possible values + /// include: 'ServerFarm', 'Site' /// [JsonProperty(PropertyName = "type")] public string Type { get; set; } /// - /// Expected location of the resource + /// Gets or sets expected location of the resource. /// [JsonProperty(PropertyName = "location")] public string Location { get; set; } /// - /// Properties of the resource to validate + /// Gets or sets ARM resource ID of an App Service plan that would host + /// the app. + /// + [JsonProperty(PropertyName = "properties.serverFarmId")] + public string ServerFarmId { get; set; } + + /// + /// Gets or sets name of the target SKU for the App Service plan. /// - [JsonProperty(PropertyName = "properties")] - public ValidateProperties Properties { get; set; } + [JsonProperty(PropertyName = "properties.skuName")] + public string SkuName { get; set; } + /// + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if App + /// Service plan is for Linux workers; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. + /// + [JsonProperty(PropertyName = "properties.needLinuxWorkers")] + public bool? NeedLinuxWorkers { get; set; } + + /// + /// Gets or sets target capacity of the App Service plan (number of + /// VM's). + /// + [JsonProperty(PropertyName = "properties.capacity")] + public int? Capacity { get; set; } + + /// + /// Gets or sets name of App Service Environment where app or App + /// Service plan should be created. + /// + [JsonProperty(PropertyName = "properties.hostingEnvironment")] + public string HostingEnvironment { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Name"); + } + if (Type == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Type"); + } + if (Location == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Location"); + } + if (Capacity < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Capacity", 1); + } + } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResourceTypes.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResourceTypes.cs index b62799af94b4..97d9cbd797b5 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResourceTypes.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResourceTypes.cs @@ -1,16 +1,16 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using Newtonsoft.Json; - using Newtonsoft.Json.Converters; - using System.Runtime.Serialization; + using Azure; + using Management; + using WebSites; /// /// Defines values for ValidateResourceTypes. @@ -21,3 +21,4 @@ public static class ValidateResourceTypes public const string Site = "Site"; } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponse.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponse.cs index cc1ad053a2ea..2324d90a27c8 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponse.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponse.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Describes the result of resource validation + /// Describes the result of resource validation. /// public partial class ValidateResponse { @@ -29,6 +27,9 @@ public ValidateResponse() { } /// /// Initializes a new instance of the ValidateResponse class. /// + /// Result of validation. + /// Error details for the case when validation + /// fails. public ValidateResponse(string status = default(string), ValidateResponseError error = default(ValidateResponseError)) { Status = status; @@ -36,16 +37,17 @@ public ValidateResponse() { } } /// - /// Indicates the result of validation + /// Gets or sets result of validation. /// [JsonProperty(PropertyName = "status")] public string Status { get; set; } /// - /// Error details for the case when validation fails + /// Gets or sets error details for the case when validation fails. /// [JsonProperty(PropertyName = "error")] public ValidateResponseError Error { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponseError.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponseError.cs index d28509214dcf..ae1a2c791304 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponseError.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/ValidateResponseError.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Error details for when validation fails + /// Error details for when validation fails. /// public partial class ValidateResponseError { @@ -29,6 +27,8 @@ public ValidateResponseError() { } /// /// Initializes a new instance of the ValidateResponseError class. /// + /// Validation error code. + /// Validation error message. public ValidateResponseError(string code = default(string), string message = default(string)) { Code = code; @@ -36,16 +36,17 @@ public ValidateResponseError() { } } /// - /// Validation error code + /// Gets or sets validation error code. /// [JsonProperty(PropertyName = "code")] public string Code { get; set; } /// - /// Validation error message + /// Gets or sets validation error message. /// [JsonProperty(PropertyName = "message")] public string Message { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualApplication.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualApplication.cs index 8f605c07d289..759b0ddfd6e2 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualApplication.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualApplication.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Virtual application under web app + /// Virtual application in an app. /// public partial class VirtualApplication { @@ -29,6 +29,13 @@ public VirtualApplication() { } /// /// Initializes a new instance of the VirtualApplication class. /// + /// Virtual path. + /// Physical path. + /// <code>true</code> if + /// preloading is enabled; otherwise, + /// <code>false</code>. + /// Virtual directories for virtual + /// application. public VirtualApplication(string virtualPath = default(string), string physicalPath = default(string), bool? preloadEnabled = default(bool?), IList virtualDirectories = default(IList)) { VirtualPath = virtualPath; @@ -38,28 +45,31 @@ public VirtualApplication() { } } /// - /// Virtual path + /// Gets or sets virtual path. /// [JsonProperty(PropertyName = "virtualPath")] public string VirtualPath { get; set; } /// - /// Physical path + /// Gets or sets physical path. /// [JsonProperty(PropertyName = "physicalPath")] public string PhysicalPath { get; set; } /// - /// Is preload enabled + /// Gets or sets &lt;code&gt;true&lt;/code&gt; if + /// preloading is enabled; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "preloadEnabled")] public bool? PreloadEnabled { get; set; } /// - /// Virtual Directories for virtual application + /// Gets or sets virtual directories for virtual application. /// [JsonProperty(PropertyName = "virtualDirectories")] public IList VirtualDirectories { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualDirectory.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualDirectory.cs index 35f5faec4556..ce3ccdcc342d 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualDirectory.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualDirectory.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Directory for virtual application + /// Directory for virtual application. /// public partial class VirtualDirectory { @@ -29,6 +27,8 @@ public VirtualDirectory() { } /// /// Initializes a new instance of the VirtualDirectory class. /// + /// Path to virtual application. + /// Physical path. public VirtualDirectory(string virtualPath = default(string), string physicalPath = default(string)) { VirtualPath = virtualPath; @@ -36,16 +36,17 @@ public VirtualDirectory() { } } /// - /// Path to virtual application + /// Gets or sets path to virtual application. /// [JsonProperty(PropertyName = "virtualPath")] public string VirtualPath { get; set; } /// - /// Physical path + /// Gets or sets physical path. /// [JsonProperty(PropertyName = "physicalPath")] public string PhysicalPath { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualIPMapping.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualIPMapping.cs index d2a1e48306f1..9a94da1eeadc 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualIPMapping.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualIPMapping.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Class that represents a VIP mapping + /// Virtual IP mapping. /// public partial class VirtualIPMapping { @@ -29,6 +27,10 @@ public VirtualIPMapping() { } /// /// Initializes a new instance of the VirtualIPMapping class. /// + /// Virtual IP address. + /// Internal HTTP port. + /// Internal HTTPS port. + /// Is virtual IP mapping in use. public VirtualIPMapping(string virtualIP = default(string), int? internalHttpPort = default(int?), int? internalHttpsPort = default(int?), bool? inUse = default(bool?)) { VirtualIP = virtualIP; @@ -38,28 +40,29 @@ public VirtualIPMapping() { } } /// - /// Virtual IP address + /// Gets or sets virtual IP address. /// [JsonProperty(PropertyName = "virtualIP")] public string VirtualIP { get; set; } /// - /// Internal HTTP port + /// Gets or sets internal HTTP port. /// [JsonProperty(PropertyName = "internalHttpPort")] public int? InternalHttpPort { get; set; } /// - /// Internal HTTPS port + /// Gets or sets internal HTTPS port. /// [JsonProperty(PropertyName = "internalHttpsPort")] public int? InternalHttpsPort { get; set; } /// - /// Is VIP mapping in use + /// Gets or sets is virtual IP mapping in use. /// [JsonProperty(PropertyName = "inUse")] public bool? InUse { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualNetworkProfile.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualNetworkProfile.cs index c6c5900ffc28..bed088ec2cd5 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualNetworkProfile.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VirtualNetworkProfile.cs @@ -1,23 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Linq; /// - /// Specification for using a virtual network + /// Specification for using a Virtual Network. /// public partial class VirtualNetworkProfile { @@ -29,6 +27,11 @@ public VirtualNetworkProfile() { } /// /// Initializes a new instance of the VirtualNetworkProfile class. /// + /// Resource id of the Virtual Network. + /// Name of the Virtual Network (read-only). + /// Resource type of the Virtual Network + /// (read-only). + /// Subnet within the Virtual Network. public VirtualNetworkProfile(string id = default(string), string name = default(string), string type = default(string), string subnet = default(string)) { Id = id; @@ -38,28 +41,29 @@ public VirtualNetworkProfile() { } } /// - /// Resource id of the virtual network + /// Gets or sets resource id of the Virtual Network. /// [JsonProperty(PropertyName = "id")] public string Id { get; set; } /// - /// Name of the virtual network (read-only) + /// Gets name of the Virtual Network (read-only). /// [JsonProperty(PropertyName = "name")] - public string Name { get; private set; } + public string Name { get; protected set; } /// - /// Resource type of the virtual network (read-only) + /// Gets resource type of the Virtual Network (read-only). /// [JsonProperty(PropertyName = "type")] - public string Type { get; private set; } + public string Type { get; protected set; } /// - /// Subnet within the virtual network + /// Gets or sets subnet within the Virtual Network. /// [JsonProperty(PropertyName = "subnet")] public string Subnet { get; set; } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetGateway.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetGateway.cs index 32d63fe74a9f..2c7956c2a03e 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetGateway.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetGateway.cs @@ -1,24 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// The VnetGateway contract. This is used to give the vnet gateway access - /// to the VPN package. + /// The Virtual Network gateway contract. This is used to give the Virtual + /// Network gateway access to the VPN package. /// [JsonTransformation] public partial class VnetGateway : Resource @@ -31,31 +33,44 @@ public VnetGateway() { } /// /// Initializes a new instance of the VnetGateway class. /// - public VnetGateway(String name, String location, String id = default(String), String kind = default(String), String type = default(String), IDictionary tags = default(IDictionary), string vnetName = default(string), string vpnPackageUri = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The Virtual Network name. + /// The URI where the VPN package can be + /// downloaded. + public VnetGateway(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string vnetName = default(string), string vpnPackageUri = default(string)) + : base(location, id, name, kind, type, tags) { VnetName = vnetName; VpnPackageUri = vpnPackageUri; } /// - /// The VNET name. + /// Gets or sets the Virtual Network name. /// [JsonProperty(PropertyName = "properties.vnetName")] public string VnetName { get; set; } /// - /// The URI where the Vpn package can be downloaded + /// Gets or sets the URI where the VPN package can be downloaded. /// [JsonProperty(PropertyName = "properties.vpnPackageUri")] public string VpnPackageUri { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetInfo.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetInfo.cs index c88baa6e5168..7022132f1dcb 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetInfo.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetInfo.cs @@ -1,24 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// VNETInfo contract. This contract is public and is a stripped down - /// version of VNETInfoInternal + /// Virtual Network information contract. /// [JsonTransformation] public partial class VnetInfo : Resource @@ -31,8 +32,29 @@ public VnetInfo() { } /// /// Initializes a new instance of the VnetInfo class. /// - public VnetInfo(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string vnetResourceId = default(string), string certThumbprint = default(string), string certBlob = default(string), IList routes = default(IList), bool? resyncRequired = default(bool?), string dnsServers = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The Virtual Network's resource + /// ID. + /// The client certificate + /// thumbprint. + /// A certificate file (.cer) blob containing + /// the public key of the private key used to authenticate a + /// Point-To-Site VPN connection. + /// The routes that this Virtual Network + /// connection uses. + /// <code>true</code> if a + /// resync is required; otherwise, + /// <code>false</code>. + /// DNS servers to be used by this Virtual + /// Network. This should be a comma-separated list of IP + /// addresses. + public VnetInfo(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string vnetResourceId = default(string), string certThumbprint = default(string), string certBlob = default(string), IList routes = default(IList), bool? resyncRequired = default(bool?), string dnsServers = default(string)) + : base(location, id, name, kind, type, tags) { VnetResourceId = vnetResourceId; CertThumbprint = certThumbprint; @@ -43,53 +65,58 @@ public VnetInfo() { } } /// - /// The vnet resource id + /// Gets or sets the Virtual Network's resource ID. /// [JsonProperty(PropertyName = "properties.vnetResourceId")] public string VnetResourceId { get; set; } /// - /// The client certificate thumbprint + /// Gets the client certificate thumbprint. /// [JsonProperty(PropertyName = "properties.certThumbprint")] - public string CertThumbprint { get; set; } + public string CertThumbprint { get; protected set; } /// - /// A certificate file (.cer) blob containing the public key of the - /// private key used to authenticate a + /// Gets or sets a certificate file (.cer) blob containing the public + /// key of the private key used to authenticate a /// Point-To-Site VPN connection. /// [JsonProperty(PropertyName = "properties.certBlob")] public string CertBlob { get; set; } /// - /// The routes that this virtual network connection uses. + /// Gets the routes that this Virtual Network connection uses. /// [JsonProperty(PropertyName = "properties.routes")] - public IList Routes { get; set; } + public IList Routes { get; protected set; } /// - /// Flag to determine if a resync is required + /// Gets &lt;code&gt;true&lt;/code&gt; if a resync is + /// required; otherwise, + /// &lt;code&gt;false&lt;/code&gt;. /// [JsonProperty(PropertyName = "properties.resyncRequired")] - public bool? ResyncRequired { get; set; } + public bool? ResyncRequired { get; protected set; } /// - /// Dns servers to be used by this VNET. This should be a - /// comma-separated list of IP addresses. + /// Gets or sets DNS servers to be used by this Virtual Network. This + /// should be a comma-separated list of IP addresses. /// [JsonProperty(PropertyName = "properties.dnsServers")] public string DnsServers { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); - if (this.Routes != null) + if (Routes != null) { - foreach (var element in this.Routes) + foreach (var element in Routes) { if (element != null) { @@ -100,3 +127,4 @@ public override void Validate() } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetRoute.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetRoute.cs index 319595c5e4b9..683db3de3e0e 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetRoute.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/VnetRoute.cs @@ -1,23 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// VnetRoute contract used to pass routing information for a vnet. + /// Virtual Network route contract used to pass routing information for a + /// Virtual Network. /// [JsonTransformation] public partial class VnetRoute : Resource @@ -30,8 +33,32 @@ public VnetRoute() { } /// /// Initializes a new instance of the VnetRoute class. /// - public VnetRoute(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string vnetRouteName = default(string), string startAddress = default(string), string endAddress = default(string), string routeType = default(string)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// The name of this route. This is only + /// returned by the server and does not need to be set by the + /// client. + /// The starting address for this route. + /// This may also include a CIDR notation, in which case the end + /// address must not be specified. + /// The ending address for this route. If the + /// start address is specified in CIDR notation, this must be + /// omitted. + /// The type of route this is: + /// DEFAULT - By default, every app has routes to the local address + /// ranges specified by RFC1918 + /// INHERITED - Routes inherited from the real Virtual Network routes + /// STATIC - Static route set on the app only + /// + /// These values will be used for syncing an app's routes with those + /// from a Virtual Network. Possible values include: 'DEFAULT', + /// 'INHERITED', 'STATIC' + public VnetRoute(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), string vnetRouteName = default(string), string startAddress = default(string), string endAddress = default(string), string routeType = default(string)) + : base(location, id, name, kind, type, tags) { VnetRouteName = vnetRouteName; StartAddress = startAddress; @@ -40,48 +67,51 @@ public VnetRoute() { } } /// - /// The name of this route. This is only returned by the server and - /// does not need to be set by the client. + /// Gets or sets the name of this route. This is only returned by the + /// server and does not need to be set by the client. /// [JsonProperty(PropertyName = "properties.name")] public string VnetRouteName { get; set; } /// - /// The starting address for this route. This may also include a CIDR - /// notation, in which case the end address must not be specified. + /// Gets or sets the starting address for this route. This may also + /// include a CIDR notation, in which case the end address must not be + /// specified. /// [JsonProperty(PropertyName = "properties.startAddress")] public string StartAddress { get; set; } /// - /// The ending address for this route. If the start address is - /// specified in CIDR notation, this must be omitted. + /// Gets or sets the ending address for this route. If the start + /// address is specified in CIDR notation, this must be omitted. /// [JsonProperty(PropertyName = "properties.endAddress")] public string EndAddress { get; set; } /// - /// The type of route this is: - /// DEFAULT - By default, every web app has routes to the - /// local address ranges specified by RFC1918 - /// INHERITED - Routes inherited from the real Virtual - /// Network routes - /// STATIC - Static route set on the web app only - /// - /// These values will be used for syncing a Web App's - /// routes with those from a Virtual Network. This operation will - /// clear all DEFAULT and INHERITED routes and replace them - /// with new INHERITED routes. + /// Gets or sets the type of route this is: + /// DEFAULT - By default, every app has routes to the local address + /// ranges specified by RFC1918 + /// INHERITED - Routes inherited from the real Virtual Network routes + /// STATIC - Static route set on the app only + /// + /// These values will be used for syncing an app's routes with those + /// from a Virtual Network. Possible values include: 'DEFAULT', + /// 'INHERITED', 'STATIC' /// [JsonProperty(PropertyName = "properties.routeType")] public string RouteType { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerPool.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerPool.cs index 2b4162626407..1e75cfaae275 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerPool.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerPool.cs @@ -1,23 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { - using System; - using System.Linq; - using System.Collections.Generic; + using Azure; + using Management; + using WebSites; + using Rest; + using Rest.Serialization; using Newtonsoft.Json; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Microsoft.Rest.Azure; + using System.Collections; + using System.Collections.Generic; + using System.Linq; /// - /// Worker pool of a hostingEnvironment (App Service Environment) + /// Worker pool of an App Service Environment. /// [JsonTransformation] public partial class WorkerPool : Resource @@ -30,8 +32,24 @@ public WorkerPool() { } /// /// Initializes a new instance of the WorkerPool class. /// - public WorkerPool(string name, string location, string id = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? workerSizeId = default(int?), ComputeModeOptions? computeMode = default(ComputeModeOptions?), string workerSize = default(string), int? workerCount = default(int?), IList instanceNames = default(IList), SkuDescription sku = default(SkuDescription)) - : base(name, location, id, kind, type, tags) + /// Resource Location. + /// Resource Id. + /// Resource Name. + /// Kind of resource. + /// Resource type. + /// Resource tags. + /// Worker size ID for referencing this + /// worker pool. + /// Shared or dedicated app hosting. Possible + /// values include: 'Shared', 'Dedicated', 'Dynamic' + /// VM size of the worker pool + /// instances. + /// Number of instances in the worker + /// pool. + /// Names of all instances in the worker + /// pool (read only). + public WorkerPool(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary tags = default(IDictionary), int? workerSizeId = default(int?), ComputeModeOptions? computeMode = default(ComputeModeOptions?), string workerSize = default(string), int? workerCount = default(int?), IList instanceNames = default(IList), SkuDescription sku = default(SkuDescription)) + : base(location, id, name, kind, type, tags) { WorkerSizeId = workerSizeId; ComputeMode = computeMode; @@ -42,35 +60,35 @@ public WorkerPool() { } } /// - /// Worker size id for referencing this worker pool + /// Gets or sets worker size ID for referencing this worker pool. /// [JsonProperty(PropertyName = "properties.workerSizeId")] public int? WorkerSizeId { get; set; } /// - /// Shared or dedicated web app hosting. Possible values include: - /// 'Shared', 'Dedicated', 'Dynamic' + /// Gets or sets shared or dedicated app hosting. Possible values + /// include: 'Shared', 'Dedicated', 'Dynamic' /// [JsonProperty(PropertyName = "properties.computeMode")] public ComputeModeOptions? ComputeMode { get; set; } /// - /// VM size of the worker pool instances + /// Gets or sets VM size of the worker pool instances. /// [JsonProperty(PropertyName = "properties.workerSize")] public string WorkerSize { get; set; } /// - /// Number of instances in the worker pool + /// Gets or sets number of instances in the worker pool. /// [JsonProperty(PropertyName = "properties.workerCount")] public int? WorkerCount { get; set; } /// - /// Names of all instances in the worker pool (read only) + /// Gets names of all instances in the worker pool (read only). /// [JsonProperty(PropertyName = "properties.instanceNames")] - public IList InstanceNames { get; set; } + public IList InstanceNames { get; protected set; } /// /// @@ -78,11 +96,15 @@ public WorkerPool() { } public SkuDescription Sku { get; set; } /// - /// Validate the object. Throws ValidationException if validation fails. + /// Validate the object. /// + /// + /// Thrown if validation fails + /// public override void Validate() { base.Validate(); } } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerSizeOptions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerSizeOptions.cs index b0dccd8122d4..3b8d1f788c04 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerSizeOptions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/Models/WorkerSizeOptions.cs @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites.Models { + using Azure; + using Management; + using WebSites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using System.Runtime; using System.Runtime.Serialization; /// /// Defines values for WorkerSizeOptions. /// - [JsonConverter(typeof(StringEnumConverter))] + [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public enum WorkerSizeOptions { [EnumMember(Value = "Default")] @@ -28,3 +32,4 @@ public enum WorkerSizeOptions Large } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperations.cs index d0d18bfc3a81..560b9cb4163f 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperations.cs @@ -1,28 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// RecommendationsOperations operations. @@ -35,13 +33,16 @@ internal partial class RecommendationsOperations : IServiceOperations /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal RecommendationsOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,17 +51,21 @@ internal RecommendationsOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Gets a list of recommendations associated with the specified subscription. + /// List all recommendations for a subscription. /// - /// Gets a list of recommendations associated with the specified subscription. + /// + /// List all recommendations for a subscription. + /// /// - /// If set, this API returns only the most critical recommendation among the - /// others. Otherwise this API returns all recommendations available + /// Specify <code>true</code> to return only the most critical + /// recommendations. The default is <code>false</code>, which + /// returns all recommendations. /// /// - /// Return only channels specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=channels eq 'Api' or channel eq - /// 'Notification' + /// Filter is specified by using OData syntax. Example: $filter=channels eq + /// 'Api' or channel eq 'Notification' and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[PT1H|PT1M|P1D] /// /// /// Headers that will be added to request. @@ -68,12 +73,24 @@ internal RecommendationsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetWithHttpMessagesAsync(bool? featured = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWithHttpMessagesAsync(bool? featured = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -89,46 +106,46 @@ internal RecommendationsOperations(WebSiteManagementClient client) tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (featured != null) { - _queryParameters.Add(string.Format("featured={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(featured, this.Client.SerializationSettings).Trim('"')))); + _queryParameters.Add(string.Format("featured={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(featured, Client.SerializationSettings).Trim('"')))); } if (filter != null) { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); + _queryParameters.Add(string.Format("$filter={0}", filter)); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -145,10 +162,10 @@ internal RecommendationsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -156,7 +173,7 @@ internal RecommendationsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -170,14 +187,14 @@ internal RecommendationsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -212,9 +229,9 @@ internal RecommendationsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -232,24 +249,172 @@ internal RecommendationsOperations(WebSiteManagementClient client) } /// - /// Gets the list of past recommendations optionally specified by the time + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task ResetAllFiltersWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-03-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ResetAllFilters", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get past recommendations for an app, optionally specified by the time /// range. /// - /// Gets the list of past recommendations optionally specified by the time + /// + /// Get past recommendations for an app, optionally specified by the time /// range. + /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name - /// - /// - /// The start time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// Name of the app. /// - /// - /// The end time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// + /// Filter is specified by using OData syntax. Example: $filter=channels eq + /// 'Api' or channel eq 'Notification' and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[PT1H|PT1M|P1D] /// /// /// Headers that will be added to request. @@ -257,20 +422,47 @@ internal RecommendationsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListHistoryForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, string startTime = default(string), string endTime = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListHistoryForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (siteName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "siteName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -284,52 +476,47 @@ internal RecommendationsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("siteName", siteName); - tracingParameters.Add("startTime", startTime); - tracingParameters.Add("endTime", endTime); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); ServiceClientTracing.Enter(_invocationId, this, "ListHistoryForWebApp", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{siteName}", Uri.EscapeDataString(siteName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{siteName}", System.Uri.EscapeDataString(siteName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (startTime != null) - { - _queryParameters.Add(string.Format("startTime={0}", Uri.EscapeDataString(startTime))); - } - if (endTime != null) + if (filter != null) { - _queryParameters.Add(string.Format("endTime={0}", Uri.EscapeDataString(endTime))); + _queryParameters.Add(string.Format("$filter={0}", filter)); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -346,10 +533,10 @@ internal RecommendationsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -357,7 +544,7 @@ internal RecommendationsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -371,14 +558,14 @@ internal RecommendationsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -413,9 +600,9 @@ internal RecommendationsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -433,28 +620,26 @@ internal RecommendationsOperations(WebSiteManagementClient client) } /// - /// Gets a list of recommendations associated with the specified web site. + /// Get all recommendations for an app. /// - /// Gets a list of recommendations associated with the specified web site. + /// + /// Get all recommendations for an app. + /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name + /// Name of the app. /// /// - /// If set, this API returns only the most critical recommendation among the - /// others. Otherwise this API returns all recommendations available - /// - /// - /// The name of web app SKU. + /// Specify <code>true</code> to return only the most critical + /// recommendations. The default is <code>false</code>, which + /// returns all recommendations. /// - /// - /// The number of site slots associated to the site - /// - /// - /// If greater than zero, this API scans the last active live site symptoms, - /// dynamically generate on-the-fly recommendations + /// + /// Return only channels specified in the filter. Filter is specified by using + /// OData syntax. Example: $filter=channels eq 'Api' or channel eq + /// 'Notification' /// /// /// Headers that will be added to request. @@ -462,20 +647,47 @@ internal RecommendationsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListRecommendedRulesForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, bool? featured = default(bool?), string webAppSku = default(string), int? numSlots = default(int?), int? liveHours = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListRecommendedRulesForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, bool? featured = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (siteName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "siteName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -490,61 +702,51 @@ internal RecommendationsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("siteName", siteName); tracingParameters.Add("featured", featured); - tracingParameters.Add("webAppSku", webAppSku); - tracingParameters.Add("numSlots", numSlots); - tracingParameters.Add("liveHours", liveHours); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); ServiceClientTracing.Enter(_invocationId, this, "ListRecommendedRulesForWebApp", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{siteName}", Uri.EscapeDataString(siteName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{siteName}", System.Uri.EscapeDataString(siteName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (featured != null) { - _queryParameters.Add(string.Format("featured={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(featured, this.Client.SerializationSettings).Trim('"')))); + _queryParameters.Add(string.Format("featured={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(featured, Client.SerializationSettings).Trim('"')))); } - if (webAppSku != null) - { - _queryParameters.Add(string.Format("webAppSku={0}", Uri.EscapeDataString(webAppSku))); - } - if (numSlots != null) - { - _queryParameters.Add(string.Format("numSlots={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(numSlots, this.Client.SerializationSettings).Trim('"')))); - } - if (liveHours != null) + if (filter != null) { - _queryParameters.Add(string.Format("liveHours={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(liveHours, this.Client.SerializationSettings).Trim('"')))); + _queryParameters.Add(string.Format("$filter={0}", filter)); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -561,10 +763,10 @@ internal RecommendationsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -572,7 +774,7 @@ internal RecommendationsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -586,14 +788,14 @@ internal RecommendationsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -628,9 +830,9 @@ internal RecommendationsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -648,23 +850,385 @@ internal RecommendationsOperations(WebSiteManagementClient client) } /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// Disable all recommendations for an app. /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// + /// Disable all recommendations for an app. + /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DisableAllForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (siteName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteName"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-03-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("siteName", siteName); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DisableAllForWebApp", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{siteName}", System.Uri.EscapeDataString(siteName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Reset all recommendation opt-out settings for an app. + /// + /// + /// Reset all recommendation opt-out settings for an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task ResetAllFiltersForWebAppWithHttpMessagesAsync(string resourceGroupName, string siteName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (siteName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteName"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-03-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("siteName", siteName); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ResetAllFiltersForWebApp", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{siteName}", System.Uri.EscapeDataString(siteName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Get a recommendation rule for an app. + /// + /// + /// Get a recommendation rule for an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// - /// Recommendation rule name + /// Name of the recommendation. /// /// - /// If true, the backend updates the last seen timestamp of the recommendation - /// object. + /// Specify <code>true</code> to update the last-seen timestamp of + /// the recommendation object. /// /// /// Headers that will be added to request. @@ -672,6 +1236,18 @@ internal RecommendationsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -681,6 +1257,21 @@ internal RecommendationsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (siteName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "siteName"); @@ -689,7 +1280,7 @@ internal RecommendationsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -710,42 +1301,42 @@ internal RecommendationsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "GetRuleDetailsByWebApp", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{siteName}", Uri.EscapeDataString(siteName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{siteName}", System.Uri.EscapeDataString(siteName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (updateSeen != null) { - _queryParameters.Add(string.Format("updateSeen={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(updateSeen, this.Client.SerializationSettings).Trim('"')))); + _queryParameters.Add(string.Format("updateSeen={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(updateSeen, Client.SerializationSettings).Trim('"')))); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -762,10 +1353,10 @@ internal RecommendationsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -773,7 +1364,7 @@ internal RecommendationsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -787,14 +1378,14 @@ internal RecommendationsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -829,9 +1420,9 @@ internal RecommendationsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -850,3 +1441,4 @@ internal RecommendationsOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperationsExtensions.cs index 9e90a5e442d5..a7fd7ff3450b 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/RecommendationsOperationsExtensions.cs @@ -1,21 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Collections; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for RecommendationsOperations. @@ -23,233 +24,354 @@ namespace Microsoft.Azure.Management.WebSites public static partial class RecommendationsOperationsExtensions { /// - /// Gets a list of recommendations associated with the specified subscription. + /// List all recommendations for a subscription. /// - /// Gets a list of recommendations associated with the specified subscription. + /// + /// List all recommendations for a subscription. + /// /// /// The operations group for this extension method. /// /// - /// If set, this API returns only the most critical recommendation among the - /// others. Otherwise this API returns all recommendations available + /// Specify <code>true</code> to return only the most critical + /// recommendations. The default is <code>false</code>, which + /// returns all recommendations. /// /// - /// Return only channels specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=channels eq 'Api' or channel eq - /// 'Notification' + /// Filter is specified by using OData syntax. Example: $filter=channels eq + /// 'Api' or channel eq 'Notification' and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[PT1H|PT1M|P1D] /// - public static IList Get(this IRecommendationsOperations operations, bool? featured = default(bool?), string filter = default(string)) + public static IList List(this IRecommendationsOperations operations, bool? featured = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IRecommendationsOperations)s).GetAsync(featured, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync(featured, filter).GetAwaiter().GetResult(); } /// - /// Gets a list of recommendations associated with the specified subscription. + /// List all recommendations for a subscription. /// - /// Gets a list of recommendations associated with the specified subscription. + /// + /// List all recommendations for a subscription. + /// /// /// The operations group for this extension method. /// /// - /// If set, this API returns only the most critical recommendation among the - /// others. Otherwise this API returns all recommendations available + /// Specify <code>true</code> to return only the most critical + /// recommendations. The default is <code>false</code>, which + /// returns all recommendations. /// /// - /// Return only channels specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=channels eq 'Api' or channel eq - /// 'Notification' + /// Filter is specified by using OData syntax. Example: $filter=channels eq + /// 'Api' or channel eq 'Notification' and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[PT1H|PT1M|P1D] /// /// /// The cancellation token. /// - public static async Task> GetAsync(this IRecommendationsOperations operations, bool? featured = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListAsync(this IRecommendationsOperations operations, bool? featured = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetWithHttpMessagesAsync(featured, filter, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListWithHttpMessagesAsync(featured, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the list of past recommendations optionally specified by the time + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// The operations group for this extension method. + /// + public static void ResetAllFilters(this IRecommendationsOperations operations) + { + operations.ResetAllFiltersAsync().GetAwaiter().GetResult(); + } + + /// + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// Reset all recommendation opt-out settings for a subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The cancellation token. + /// + public static async Task ResetAllFiltersAsync(this IRecommendationsOperations operations, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.ResetAllFiltersWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get past recommendations for an app, optionally specified by the time /// range. /// - /// Gets the list of past recommendations optionally specified by the time + /// + /// Get past recommendations for an app, optionally specified by the time /// range. + /// /// /// The operations group for this extension method. /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name - /// - /// - /// The start time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// Name of the app. /// - /// - /// The end time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// + /// Filter is specified by using OData syntax. Example: $filter=channels eq + /// 'Api' or channel eq 'Notification' and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[PT1H|PT1M|P1D] /// - public static IList ListHistoryForWebApp(this IRecommendationsOperations operations, string resourceGroupName, string siteName, string startTime = default(string), string endTime = default(string)) + public static IList ListHistoryForWebApp(this IRecommendationsOperations operations, string resourceGroupName, string siteName, string filter = default(string)) { - return Task.Factory.StartNew(s => ((IRecommendationsOperations)s).ListHistoryForWebAppAsync(resourceGroupName, siteName, startTime, endTime), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHistoryForWebAppAsync(resourceGroupName, siteName, filter).GetAwaiter().GetResult(); } /// - /// Gets the list of past recommendations optionally specified by the time + /// Get past recommendations for an app, optionally specified by the time /// range. /// - /// Gets the list of past recommendations optionally specified by the time + /// + /// Get past recommendations for an app, optionally specified by the time /// range. + /// /// /// The operations group for this extension method. /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name - /// - /// - /// The start time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// Name of the app. /// - /// - /// The end time of a time range to query, e.g. $filter=startTime eq - /// '2015-01-01T00:00:00Z' and endTime eq '2015-01-02T00:00:00Z' + /// + /// Filter is specified by using OData syntax. Example: $filter=channels eq + /// 'Api' or channel eq 'Notification' and startTime eq '2014-01-01T00:00:00Z' + /// and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[PT1H|PT1M|P1D] /// /// /// The cancellation token. /// - public static async Task> ListHistoryForWebAppAsync(this IRecommendationsOperations operations, string resourceGroupName, string siteName, string startTime = default(string), string endTime = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListHistoryForWebAppAsync(this IRecommendationsOperations operations, string resourceGroupName, string siteName, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHistoryForWebAppWithHttpMessagesAsync(resourceGroupName, siteName, startTime, endTime, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListHistoryForWebAppWithHttpMessagesAsync(resourceGroupName, siteName, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets a list of recommendations associated with the specified web site. + /// Get all recommendations for an app. /// - /// Gets a list of recommendations associated with the specified web site. + /// + /// Get all recommendations for an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name + /// Name of the app. /// /// - /// If set, this API returns only the most critical recommendation among the - /// others. Otherwise this API returns all recommendations available + /// Specify <code>true</code> to return only the most critical + /// recommendations. The default is <code>false</code>, which + /// returns all recommendations. /// - /// - /// The name of web app SKU. - /// - /// - /// The number of site slots associated to the site - /// - /// - /// If greater than zero, this API scans the last active live site symptoms, - /// dynamically generate on-the-fly recommendations + /// + /// Return only channels specified in the filter. Filter is specified by using + /// OData syntax. Example: $filter=channels eq 'Api' or channel eq + /// 'Notification' /// - public static IList ListRecommendedRulesForWebApp(this IRecommendationsOperations operations, string resourceGroupName, string siteName, bool? featured = default(bool?), string webAppSku = default(string), int? numSlots = default(int?), int? liveHours = default(int?)) + public static IList ListRecommendedRulesForWebApp(this IRecommendationsOperations operations, string resourceGroupName, string siteName, bool? featured = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IRecommendationsOperations)s).ListRecommendedRulesForWebAppAsync(resourceGroupName, siteName, featured, webAppSku, numSlots, liveHours), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListRecommendedRulesForWebAppAsync(resourceGroupName, siteName, featured, filter).GetAwaiter().GetResult(); } /// - /// Gets a list of recommendations associated with the specified web site. + /// Get all recommendations for an app. /// - /// Gets a list of recommendations associated with the specified web site. + /// + /// Get all recommendations for an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Site name + /// Name of the app. /// /// - /// If set, this API returns only the most critical recommendation among the - /// others. Otherwise this API returns all recommendations available + /// Specify <code>true</code> to return only the most critical + /// recommendations. The default is <code>false</code>, which + /// returns all recommendations. /// - /// - /// The name of web app SKU. - /// - /// - /// The number of site slots associated to the site - /// - /// - /// If greater than zero, this API scans the last active live site symptoms, - /// dynamically generate on-the-fly recommendations + /// + /// Return only channels specified in the filter. Filter is specified by using + /// OData syntax. Example: $filter=channels eq 'Api' or channel eq + /// 'Notification' /// /// /// The cancellation token. /// - public static async Task> ListRecommendedRulesForWebAppAsync(this IRecommendationsOperations operations, string resourceGroupName, string siteName, bool? featured = default(bool?), string webAppSku = default(string), int? numSlots = default(int?), int? liveHours = default(int?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListRecommendedRulesForWebAppAsync(this IRecommendationsOperations operations, string resourceGroupName, string siteName, bool? featured = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListRecommendedRulesForWebAppWithHttpMessagesAsync(resourceGroupName, siteName, featured, webAppSku, numSlots, liveHours, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListRecommendedRulesForWebAppWithHttpMessagesAsync(resourceGroupName, siteName, featured, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// Disable all recommendations for an app. + /// + /// + /// Disable all recommendations for an app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + public static void DisableAllForWebApp(this IRecommendationsOperations operations, string resourceGroupName, string siteName) + { + operations.DisableAllForWebAppAsync(resourceGroupName, siteName).GetAwaiter().GetResult(); + } + + /// + /// Disable all recommendations for an app. /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// + /// Disable all recommendations for an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// The cancellation token. + /// + public static async Task DisableAllForWebAppAsync(this IRecommendationsOperations operations, string resourceGroupName, string siteName, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.DisableAllForWebAppWithHttpMessagesAsync(resourceGroupName, siteName, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Reset all recommendation opt-out settings for an app. + /// + /// + /// Reset all recommendation opt-out settings for an app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + public static void ResetAllFiltersForWebApp(this IRecommendationsOperations operations, string resourceGroupName, string siteName) + { + operations.ResetAllFiltersForWebAppAsync(resourceGroupName, siteName).GetAwaiter().GetResult(); + } + + /// + /// Reset all recommendation opt-out settings for an app. + /// + /// + /// Reset all recommendation opt-out settings for an app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// The cancellation token. + /// + public static async Task ResetAllFiltersForWebAppAsync(this IRecommendationsOperations operations, string resourceGroupName, string siteName, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.ResetAllFiltersForWebAppWithHttpMessagesAsync(resourceGroupName, siteName, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Get a recommendation rule for an app. + /// + /// + /// Get a recommendation rule for an app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// - /// Recommendation rule name + /// Name of the recommendation. /// /// - /// If true, the backend updates the last seen timestamp of the recommendation - /// object. + /// Specify <code>true</code> to update the last-seen timestamp of + /// the recommendation object. /// public static RecommendationRule GetRuleDetailsByWebApp(this IRecommendationsOperations operations, string resourceGroupName, string siteName, string name, bool? updateSeen = default(bool?)) { - return Task.Factory.StartNew(s => ((IRecommendationsOperations)s).GetRuleDetailsByWebAppAsync(resourceGroupName, siteName, name, updateSeen), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetRuleDetailsByWebAppAsync(resourceGroupName, siteName, name, updateSeen).GetAwaiter().GetResult(); } /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// Get a recommendation rule for an app. /// - /// Gets the detailed properties of the recommendation object for the - /// specified web site. + /// + /// Get a recommendation rule for an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Recommendation rule name + /// Name of the recommendation. /// /// - /// If true, the backend updates the last seen timestamp of the recommendation - /// object. + /// Specify <code>true</code> to update the last-seen timestamp of + /// the recommendation object. /// /// /// The cancellation token. @@ -264,3 +386,4 @@ public static partial class RecommendationsOperationsExtensions } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperations.cs index 72dbb03a8818..899a9b8cd457 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperations.cs @@ -1,28 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// TopLevelDomainsOperations operations. @@ -35,13 +33,16 @@ internal partial class TopLevelDomainsOperations : IServiceOperations /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal TopLevelDomainsOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,25 +51,39 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -81,35 +96,35 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -126,10 +141,10 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -137,7 +152,7 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -151,14 +166,14 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -193,9 +208,9 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -213,11 +228,13 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) } /// - /// Gets details of a top level domain + /// Get details of a top-level domain. /// - /// Gets details of a top level domain + /// + /// Get details of a top-level domain. + /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// /// /// Headers that will be added to request. @@ -225,6 +242,18 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -234,11 +263,11 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -252,36 +281,36 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}").ToString(); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}").ToString(); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -298,10 +327,10 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -309,7 +338,7 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -323,14 +352,14 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -365,9 +394,9 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -385,14 +414,18 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) } /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. + /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// /// - /// Domain agreement options + /// Domain agreement options. /// /// /// Headers that will be added to request. @@ -400,6 +433,18 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -413,11 +458,11 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "agreementOption"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - string apiVersion = "2016-03-01"; + string apiVersion = "2015-04-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -432,36 +477,36 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListAgreements", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements").ToString(); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements").ToString(); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -479,15 +524,15 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) string _requestContent = null; if(agreementOption != null) { - _requestContent = SafeJsonConvert.SerializeObject(agreementOption, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(agreementOption, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -495,7 +540,7 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -509,14 +554,14 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -551,9 +596,9 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -571,9 +616,11 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) } /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -583,6 +630,18 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -609,25 +668,25 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -644,10 +703,10 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -655,7 +714,7 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -669,14 +728,14 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -711,9 +770,9 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -731,9 +790,13 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) } /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -743,6 +806,18 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -769,25 +844,25 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -804,10 +879,10 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -815,7 +890,7 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -829,14 +904,14 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -871,9 +946,9 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -892,3 +967,4 @@ internal TopLevelDomainsOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperationsExtensions.cs index 02e22ecb06a2..9f97b7e1dc83 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/TopLevelDomainsOperationsExtensions.cs @@ -1,21 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Collections; - using System.Collections.Generic; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for TopLevelDomainsOperations. @@ -23,21 +22,25 @@ namespace Microsoft.Azure.Management.WebSites public static partial class TopLevelDomainsOperationsExtensions { /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// The operations group for this extension method. /// public static IPage List(this ITopLevelDomainsOperations operations) { - return Task.Factory.StartNew(s => ((ITopLevelDomainsOperations)s).ListAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync().GetAwaiter().GetResult(); } /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// The operations group for this extension method. /// @@ -53,29 +56,33 @@ public static IPage List(this ITopLevelDomainsOperations operati } /// - /// Gets details of a top level domain + /// Get details of a top-level domain. /// - /// Gets details of a top level domain + /// + /// Get details of a top-level domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// public static TopLevelDomain Get(this ITopLevelDomainsOperations operations, string name) { - return Task.Factory.StartNew(s => ((ITopLevelDomainsOperations)s).GetAsync(name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAsync(name).GetAwaiter().GetResult(); } /// - /// Gets details of a top level domain + /// Get details of a top-level domain. /// - /// Gets details of a top level domain + /// + /// Get details of a top-level domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// /// /// The cancellation token. @@ -89,35 +96,43 @@ public static TopLevelDomain Get(this ITopLevelDomainsOperations operations, str } /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// /// - /// Domain agreement options + /// Domain agreement options. /// public static IPage ListAgreements(this ITopLevelDomainsOperations operations, string name, TopLevelDomainAgreementOption agreementOption) { - return Task.Factory.StartNew(s => ((ITopLevelDomainsOperations)s).ListAgreementsAsync(name, agreementOption), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAgreementsAsync(name, agreementOption).GetAwaiter().GetResult(); } /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. + /// /// /// The operations group for this extension method. /// /// - /// Name of the top level domain + /// Name of the top-level domain. /// /// - /// Domain agreement options + /// Domain agreement options. /// /// /// The cancellation token. @@ -131,9 +146,11 @@ public static IPage ListAgreements(this ITopLevelDomainsOpera } /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// The operations group for this extension method. /// @@ -142,13 +159,15 @@ public static IPage ListAgreements(this ITopLevelDomainsOpera /// public static IPage ListNext(this ITopLevelDomainsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((ITopLevelDomainsOperations)s).ListNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists all top level domains supported for registration + /// Get all top-level domains supported for registration. /// - /// Lists all top level domains supported for registration + /// + /// Get all top-level domains supported for registration. + /// /// /// The operations group for this extension method. /// @@ -167,9 +186,13 @@ public static IPage ListNext(this ITopLevelDomainsOperations ope } /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. + /// /// /// The operations group for this extension method. /// @@ -178,13 +201,17 @@ public static IPage ListNext(this ITopLevelDomainsOperations ope /// public static IPage ListAgreementsNext(this ITopLevelDomainsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((ITopLevelDomainsOperations)s).ListAgreementsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAgreementsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. /// - /// Lists legal agreements that user needs to accept before purchasing domain + /// + /// Gets all legal agreements that user needs to accept before purchasing a + /// domain. + /// /// /// The operations group for this extension method. /// @@ -204,3 +231,4 @@ public static IPage ListAgreementsNext(this ITopLevelDomainsO } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperations.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperations.cs index aeeaeb35d657..b16fcc9f26cc 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperations.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperations.cs @@ -1,28 +1,27 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; + using System.IO; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// WebAppsOperations operations. @@ -35,13 +34,16 @@ internal partial class WebAppsOperations : IServiceOperations /// Reference to the service client. /// + /// + /// Thrown when a required parameter is null + /// internal WebAppsOperations(WebSiteManagementClient client) { - if (client == null) + if (client == null) { - throw new ArgumentNullException("client"); + throw new System.ArgumentNullException("client"); } - this.Client = client; + Client = client; } /// @@ -50,21 +52,35 @@ internal WebAppsOperations(WebSiteManagementClient client) public WebSiteManagementClient Client { get; private set; } /// - /// Gets all Web Apps for a subscription + /// Get all apps for a subscription. /// - /// Gets all Web Apps for a subscription + /// + /// Get all apps for a subscription. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -81,35 +97,35 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/sites").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/sites").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -126,10 +142,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -137,7 +153,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -151,14 +167,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -193,9 +209,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -213,14 +229,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets deleted web apps in subscription + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets deleted web apps in subscription + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// - /// - /// Additional web app properties included in the response + /// + /// Specify <strong>true</strong> to include deployment slots in + /// results. The default is false, which only gives you the production slot of + /// all apps. /// /// /// Headers that will be added to request. @@ -228,16 +248,43 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListDeletedWithHttpMessagesAsync(string resourceGroupName, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, bool? includeSlots = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -250,46 +297,46 @@ internal WebAppsOperations(WebSiteManagementClient client) _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("propertiesToInclude", propertiesToInclude); + tracingParameters.Add("includeSlots", includeSlots); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListDeleted", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (propertiesToInclude != null) + if (includeSlots != null) { - _queryParameters.Add(string.Format("propertiesToInclude={0}", Uri.EscapeDataString(propertiesToInclude))); + _queryParameters.Add(string.Format("includeSlots={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(includeSlots, Client.SerializationSettings).Trim('"')))); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -306,10 +353,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -317,7 +364,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -331,14 +378,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -360,7 +407,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -373,9 +420,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -393,17 +440,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web apps for a subscription in the specified resource group + /// Gets the details of a web, mobile, or API app. /// - /// Gets the web apps for a subscription in the specified resource group + /// + /// Gets the details of a web, mobile, or API app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// - /// - /// Additional web app properties included in the response - /// - /// - /// Whether or not to include deployments slots in results + /// + /// Name of the app. /// /// /// Headers that will be added to request. @@ -411,16 +457,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, string propertiesToInclude = default(string), bool? includeSlots = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (this.Client.SubscriptionId == null) + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -433,51 +510,43 @@ internal WebAppsOperations(WebSiteManagementClient client) _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("propertiesToInclude", propertiesToInclude); - tracingParameters.Add("includeSlots", includeSlots); + tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (propertiesToInclude != null) - { - _queryParameters.Add(string.Format("propertiesToInclude={0}", Uri.EscapeDataString(propertiesToInclude))); - } - if (includeSlots != null) - { - _queryParameters.Add(string.Format("includeSlots={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(includeSlots, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -494,10 +563,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -505,7 +574,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -519,14 +588,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -548,7 +617,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -561,9 +630,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -581,17 +650,73 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get details of a web app + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Get details of a web app + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. /// - /// - /// Additional web app properties included in the response + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app to delete. + /// + /// + /// If true, web app metrics are also deleted + /// + /// + /// Specify true if the App Service plan will be empty after app deletion and + /// you want to delete the empty App Service plan. By default, the empty App + /// Service plan is not deleted. + /// + /// + /// If true, DNS registration is skipped /// /// /// Headers that will be added to request. @@ -599,20 +724,44 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -626,47 +775,57 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("propertiesToInclude", propertiesToInclude); + tracingParameters.Add("deleteMetrics", deleteMetrics); + tracingParameters.Add("deleteEmptyServerFarm", deleteEmptyServerFarm); + tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (propertiesToInclude != null) + if (deleteMetrics != null) { - _queryParameters.Add(string.Format("propertiesToInclude={0}", Uri.EscapeDataString(propertiesToInclude))); + _queryParameters.Add(string.Format("deleteMetrics={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(deleteMetrics, Client.SerializationSettings).Trim('"')))); + } + if (deleteEmptyServerFarm != null) + { + _queryParameters.Add(string.Format("deleteEmptyServerFarm={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(deleteEmptyServerFarm, Client.SerializationSettings).Trim('"')))); + } + if (skipDnsRegistration != null) + { + _queryParameters.Add(string.Format("skipDnsRegistration={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(skipDnsRegistration, Client.SerializationSettings).Trim('"')))); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -683,10 +842,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -694,7 +853,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -702,22 +861,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -737,31 +888,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -770,76 +903,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new web app or modifies an existing web app. - /// - /// Creates a new web app or modifies an existing web app. - /// - /// Name of the resource group - /// - /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already - /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS - /// - /// - /// Time to live in seconds for web app's default domain name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> CreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync( - resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); - } - - /// - /// Creates a new web app or modifies an existing web app. + /// Analyze a custom hostname. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Analyze a custom hostname. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already - /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS + /// Name of web app /// - /// - /// Time to live in seconds for web app's default domain name + /// + /// Custom hostname /// /// /// Headers that will be added to request. @@ -847,28 +923,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> AnalyzeCustomHostnameWithHttpMessagesAsync(string resourceGroupName, string name, string hostName = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (siteEnvelope == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (siteEnvelope != null) + if (name == null) { - siteEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -882,63 +977,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteEnvelope", siteEnvelope); - tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); - tracingParameters.Add("skipCustomDomainVerification", skipCustomDomainVerification); - tracingParameters.Add("forceDnsRegistration", forceDnsRegistration); - tracingParameters.Add("ttlInSeconds", ttlInSeconds); + tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "AnalyzeCustomHostname", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (skipDnsRegistration != null) - { - _queryParameters.Add(string.Format("skipDnsRegistration={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(skipDnsRegistration, this.Client.SerializationSettings).Trim('"')))); - } - if (skipCustomDomainVerification != null) - { - _queryParameters.Add(string.Format("skipCustomDomainVerification={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(skipCustomDomainVerification, this.Client.SerializationSettings).Trim('"')))); - } - if (forceDnsRegistration != null) - { - _queryParameters.Add(string.Format("forceDnsRegistration={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(forceDnsRegistration, this.Client.SerializationSettings).Trim('"')))); - } - if (ttlInSeconds != null) + if (hostName != null) { - _queryParameters.Add(string.Format("ttlInSeconds={0}", Uri.EscapeDataString(ttlInSeconds))); + _queryParameters.Add(string.Format("hostName={0}", System.Uri.EscapeDataString(hostName))); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -954,17 +1033,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -972,7 +1045,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -980,20 +1053,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1015,7 +1088,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1028,27 +1101,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1066,24 +1121,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Deletes a web app + /// Applies the configuration settings from the target slot onto the current + /// slot. /// - /// Deletes a web app + /// + /// Applies the configuration settings from the target slot onto the current + /// slot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// If true, web app metrics are also deleted + /// Name of the app. /// - /// - /// If true and App Service Plan is empty after web app deletion, App Service - /// Plan is also deleted - /// - /// - /// If true, DNS registration is skipped + /// + /// JSON object that contains the target slot name. See example. /// /// /// Headers that will be added to request. @@ -1091,20 +1143,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteWithHttpMessagesAsync(string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task ApplySlotConfigToProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (slotSwapEntity == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + } + if (slotSwapEntity != null) + { + slotSwapEntity.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1118,57 +1202,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("deleteMetrics", deleteMetrics); - tracingParameters.Add("deleteEmptyServerFarm", deleteEmptyServerFarm); - tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); + tracingParameters.Add("slotSwapEntity", slotSwapEntity); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ApplySlotConfigToProduction", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (deleteMetrics != null) - { - _queryParameters.Add(string.Format("deleteMetrics={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(deleteMetrics, this.Client.SerializationSettings).Trim('"')))); - } - if (deleteEmptyServerFarm != null) - { - _queryParameters.Add(string.Format("deleteEmptyServerFarm={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(deleteEmptyServerFarm, this.Client.SerializationSettings).Trim('"')))); - } - if (skipDnsRegistration != null) - { - _queryParameters.Add(string.Format("skipDnsRegistration={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(skipDnsRegistration, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1184,11 +1254,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(slotSwapEntity != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(slotSwapEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1196,7 +1272,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1204,22 +1280,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1239,31 +1307,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1272,17 +1322,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Analyze a custom hostname + /// Creates a backup of an app. /// - /// Analyze a custom hostname + /// + /// Creates a backup of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Custom hostname + /// + /// Backup configuration. You can use the JSON response from the POST action as + /// input here. /// /// /// Headers that will be added to request. @@ -1290,20 +1343,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> AnalyzeCustomHostnameWithHttpMessagesAsync(string resourceGroupName, string name, string hostName = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BackupWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (request == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1317,47 +1405,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("hostName", hostName); + tracingParameters.Add("request", request); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "AnalyzeCustomHostname", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Backup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (hostName != null) - { - _queryParameters.Add(string.Format("hostName={0}", Uri.EscapeDataString(hostName))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1373,11 +1457,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(request != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1385,7 +1475,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1399,14 +1489,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1428,7 +1518,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1441,9 +1531,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1461,20 +1551,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Applies the configuration settings from the target slot onto the current - /// slot + /// Gets existing backups of an app. /// - /// Applies the configuration settings from the target slot onto the current - /// slot + /// + /// Gets existing backups of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the target slot name. Settings from that slot - /// will be applied on the source slot + /// Name of the app. /// /// /// Headers that will be added to request. @@ -1482,24 +1568,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ApplySlotConfigToProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListBackupsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slotSwapEntity == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1513,43 +1622,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slotSwapEntity", slotSwapEntity); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ApplySlotConfigToProduction", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListBackups", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1565,17 +1673,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(slotSwapEntity != null) - { - _requestContent = SafeJsonConvert.SerializeObject(slotSwapEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1583,7 +1685,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1597,14 +1699,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1626,7 +1728,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1639,9 +1741,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1659,17 +1761,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates web app backup + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. /// - /// Creates web app backup + /// + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// A RestoreRequest object that includes Azure storage URL and blog name for + /// discovery of backup. /// /// /// Headers that will be added to request. @@ -1677,15 +1784,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BackupWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> DiscoverRestoreWithHttpMessagesAsync(string resourceGroupName, string name, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -1698,7 +1832,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { request.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1715,40 +1849,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("request", request); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Backup", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DiscoverRestore", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1766,15 +1900,15 @@ internal WebAppsOperations(WebSiteManagementClient client) string _requestContent = null; if(request != null) { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1782,7 +1916,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1796,14 +1930,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1825,7 +1959,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1838,9 +1972,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1858,14 +1992,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Lists all available backups for web app + /// Gets a backup of an app by its ID. /// - /// Lists all available backups for web app + /// + /// Gets a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// ID of the backup. /// /// /// Headers that will be added to request. @@ -1873,20 +2012,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListBackupsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetBackupStatusWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (backupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -1900,42 +2070,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("backupId", backupId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListBackups", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetBackupStatus", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -1952,10 +2124,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1963,7 +2135,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1977,14 +2149,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2006,7 +2178,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2019,9 +2191,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2039,17 +2211,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Discovers existing web app backups that can be restored + /// Deletes a backup of an app by its ID. /// - /// Discovers existing web app backups that can be restored + /// + /// Deletes a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Information on restore request + /// + /// ID of the backup. /// /// /// Headers that will be added to request. @@ -2057,28 +2231,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DiscoverRestoreWithHttpMessagesAsync(string resourceGroupName, string name, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteBackupWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (request == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (request != null) + if (backupId == null) { - request.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2092,43 +2286,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("request", request); + tracingParameters.Add("backupId", backupId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DiscoverRestore", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteBackup", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2144,17 +2339,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) - { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2162,7 +2351,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2170,22 +2359,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -2205,31 +2386,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -2238,11 +2401,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets status of a web app backup that may be in progress. + /// Gets status of a web app backup that may be in progress, including secrets + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets status of a web app backup that may be in progress, including secrets + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -2250,21 +2421,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// Id of backup /// + /// + /// Information on backup request + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetBackupStatusWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListBackupStatusSecretsWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -2273,7 +2474,15 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); } - if (this.Client.SubscriptionId == null) + if (request == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2288,43 +2497,44 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("backupId", backupId); + tracingParameters.Add("request", request); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetBackupStatus", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListBackupStatusSecrets", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2340,11 +2550,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(request != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2352,7 +2568,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2366,14 +2582,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2408,9 +2624,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2428,17 +2644,52 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Deletes a backup from Azure Storage + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Deletes a backup from Azure Storage + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. + /// + /// + /// Information on restore request + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> RestoreWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginRestoreWithHttpMessagesAsync(resourceGroupName, name, backupId, request, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Replaces the application settings of an app. + /// + /// + /// Replaces the application settings of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Application settings of the app. /// /// /// Headers that will be added to request. @@ -2446,24 +2697,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteBackupWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateApplicationSettingsWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary appSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (backupId == null) + if (appSettings == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + throw new ValidationException(ValidationRules.CannotBeNull, "appSettings"); + } + if (appSettings != null) + { + appSettings.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2477,44 +2759,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("backupId", backupId); + tracingParameters.Add("appSettings", appSettings); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteBackup", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateApplicationSettings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2530,11 +2811,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(appSettings != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(appSettings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2542,7 +2829,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2556,14 +2843,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2585,7 +2872,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2598,9 +2885,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2618,26 +2905,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// Gets the application settings of an app. /// - /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// + /// Gets the application settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of backup - /// - /// - /// Information on backup request + /// Name of the app. /// /// /// Headers that will be added to request. @@ -2645,32 +2922,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListBackupStatusSecretsWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListApplicationSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (backupId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); - } - if (request == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (request != null) + if (name == null) { - request.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2684,45 +2976,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("backupId", backupId); - tracingParameters.Add("request", request); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListBackupStatusSecrets", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListApplicationSettings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2738,17 +3027,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) - { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2756,7 +3039,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2770,14 +3053,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2799,7 +3082,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2812,9 +3095,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2832,50 +3115,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Restores a web app - /// - /// Restores a web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> RestoreWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginRestoreWithHttpMessagesAsync( - resourceGroupName, name, backupId, request, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Restores a web app + /// Updates the Authentication / Authorization settings associated with web + /// app. /// - /// Restores a web app + /// + /// Updates the Authentication / Authorization settings associated with web + /// app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request + /// + /// Auth settings associated with web app /// /// /// Headers that will be added to request. @@ -2883,32 +3137,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginRestoreWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateAuthSettingsWithHttpMessagesAsync(string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (backupId == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (request == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (request != null) + if (siteAuthSettings == null) { - request.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "siteAuthSettings"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -2922,45 +3195,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("backupId", backupId); - tracingParameters.Add("request", request); + tracingParameters.Add("siteAuthSettings", siteAuthSettings); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginRestore", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateAuthSettings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -2976,17 +3247,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) + if(siteAuthSettings != null) { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteAuthSettings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2994,7 +3265,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3008,14 +3279,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3037,7 +3308,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3050,9 +3321,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3070,17 +3341,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the application settings of web app + /// Gets the Authentication/Authorization settings of an app. /// - /// Updates the application settings of web app + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Application settings of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -3088,28 +3358,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateApplicationSettingsWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary appSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetAuthSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (appSettings == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "appSettings"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (appSettings != null) + if (name == null) { - appSettings.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3123,43 +3412,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("appSettings", appSettings); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateApplicationSettings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetAuthSettings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3175,17 +3463,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(appSettings != null) - { - _requestContent = SafeJsonConvert.SerializeObject(appSettings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3193,7 +3475,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3207,14 +3489,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3236,7 +3518,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3249,9 +3531,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3269,14 +3551,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the application settings of web app + /// Updates the backup configuration of an app. /// - /// Gets the application settings of web app + /// + /// Updates the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Edited backup configuration. /// /// /// Headers that will be added to request. @@ -3284,20 +3571,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListApplicationSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (request == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3311,42 +3633,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("request", request); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListApplicationSettings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateBackupConfiguration", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3362,11 +3685,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(request != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3374,7 +3703,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3388,14 +3717,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3417,7 +3746,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3430,9 +3759,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3450,17 +3779,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Authentication / Authorization settings associated with web app + /// Deletes the backup configuration of an app. /// - /// Updates the Authentication / Authorization settings associated with web app + /// + /// Deletes the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Auth settings associated with web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -3468,24 +3796,44 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateAuthSettingsWithHttpMessagesAsync(string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (siteAuthSettings == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteAuthSettings"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3499,43 +3847,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteAuthSettings", siteAuthSettings); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateAuthSettings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteBackupConfiguration", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3551,17 +3898,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteAuthSettings != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteAuthSettings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3569,7 +3910,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3580,19 +3921,11 @@ internal WebAppsOperations(WebSiteManagementClient client) if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -3612,31 +3945,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -3645,14 +3960,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the Authentication / Authorization settings associated with web app + /// Gets the backup configuration of an app. /// - /// Gets the Authentication / Authorization settings associated with web app + /// + /// Gets the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -3660,20 +3977,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListAuthSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3689,40 +4033,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListAuthSettings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetBackupConfiguration", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3739,10 +4083,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3750,7 +4094,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3764,14 +4108,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3793,7 +4137,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -3806,9 +4150,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -3826,17 +4170,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates backup configuration of web app + /// Replaces the connection strings of an app. /// - /// Updates backup configuration of web app + /// + /// Replaces the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Information on backup request + /// + /// Connection strings of the app or deployment slot. See example. /// /// /// Headers that will be added to request. @@ -3844,28 +4190,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateConnectionStringsWithHttpMessagesAsync(string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (request == null) + if (connectionStrings == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + throw new ValidationException(ValidationRules.CannotBeNull, "connectionStrings"); } - if (request != null) + if (connectionStrings != null) { - request.Validate(); + connectionStrings.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -3879,43 +4252,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("request", request); + tracingParameters.Add("connectionStrings", connectionStrings); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateBackupConfiguration", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateConnectionStrings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -3931,17 +4304,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) + if(connectionStrings != null) { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionStrings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -3949,7 +4322,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -3963,14 +4336,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -3992,7 +4365,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4005,9 +4378,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4025,14 +4398,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes the backup configuration for a web app + /// Gets the connection strings of an app. /// - /// Removes the backup configuration for a web app + /// + /// Gets the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -4040,20 +4415,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListConnectionStringsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4069,40 +4471,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteBackupConfiguration", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListConnectionStrings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4119,10 +4521,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4130,7 +4532,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4144,14 +4546,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4173,7 +4575,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4186,9 +4588,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4206,14 +4608,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the backup configuration for a web app + /// Gets the logging configuration of an app. /// - /// Gets the backup configuration for a web app + /// + /// Gets the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -4221,20 +4625,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetBackupConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetDiagnosticLogsConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4250,40 +4681,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetBackupConfiguration", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetDiagnosticLogsConfiguration", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4300,10 +4731,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4311,7 +4742,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4325,14 +4756,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4354,7 +4785,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4367,9 +4798,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4387,17 +4818,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the connection strings associated with web app + /// Updates the logging configuration of an app. /// - /// Updates the connection strings associated with web app + /// + /// Updates the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Connection strings associated with web app + /// + /// A SiteLogsConfig JSON object that contains the logging configuration to + /// change in the "properties" property. /// /// /// Headers that will be added to request. @@ -4405,28 +4839,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateConnectionStringsWithHttpMessagesAsync(string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateDiagnosticLogsConfigWithHttpMessagesAsync(string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (connectionStrings == null) + if (siteLogsConfig == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionStrings"); + throw new ValidationException(ValidationRules.CannotBeNull, "siteLogsConfig"); } - if (connectionStrings != null) + if (siteLogsConfig != null) { - connectionStrings.Validate(); + siteLogsConfig.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4440,43 +4901,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("connectionStrings", connectionStrings); + tracingParameters.Add("siteLogsConfig", siteLogsConfig); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateConnectionStrings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateDiagnosticLogsConfig", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4492,17 +4953,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionStrings != null) + if(siteLogsConfig != null) { - _requestContent = SafeJsonConvert.SerializeObject(connectionStrings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteLogsConfig, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4510,7 +4971,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4524,14 +4985,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4553,7 +5014,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4566,9 +5027,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4586,14 +5047,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the connection strings associated with web app + /// Replaces the metadata of an app. /// - /// Gets the connection strings associated with web app + /// + /// Replaces the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Edited metadata of the app or deployment slot. See example. /// /// /// Headers that will be added to request. @@ -4601,20 +5067,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListConnectionStringsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateMetadataWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary metadata, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (metadata == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "metadata"); + } + if (metadata != null) + { + metadata.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4628,42 +5129,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("metadata", metadata); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListConnectionStrings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateMetadata", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4679,11 +5181,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(metadata != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(metadata, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4691,7 +5199,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4705,14 +5213,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4734,7 +5242,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4747,9 +5255,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4767,14 +5275,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web app logs configuration + /// Gets the metadata of an app. /// - /// Gets the web app logs configuration + /// + /// Gets the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -4782,20 +5292,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetDiagnosticLogsConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListMetadataWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -4811,40 +5348,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetDiagnosticLogsConfiguration", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetadata", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -4861,10 +5398,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -4872,7 +5409,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -4886,14 +5423,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -4915,7 +5452,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -4928,9 +5465,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -4948,216 +5485,44 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the meta data for web app + /// Gets the Git/FTP publishing credentials of an app. /// - /// Updates the meta data for web app + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Site logs configuration + /// Name of the app. /// /// - /// Headers that will be added to request. + /// The headers that will be added to request. /// /// /// The cancellation token. /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> UpdateDiagnosticLogsConfigWithHttpMessagesAsync(string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListPublishingCredentialsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (siteLogsConfig == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "siteLogsConfig"); - } - if (siteLogsConfig != null) - { - siteLogsConfig.Validate(); - } - if (this.Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-08-01"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("siteLogsConfig", siteLogsConfig); - tracingParameters.Add("apiVersion", apiVersion); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateDiagnosticLogsConfig", tracingParameters); - } - // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); - List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += "?" + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); - // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); - } - if (this.Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); - } - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - if(siteLogsConfig != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteLogsConfig, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } - // Set Credentials - if (this.Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; + // Send request + AzureOperationResponse _response = await BeginListPublishingCredentialsWithHttpMessagesAsync(resourceGroupName, name, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); } /// - /// Updates the meta data for web app + /// Updates the Push settings associated with web app. /// - /// Updates the meta data for web app + /// + /// Updates the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Meta data of web app + /// + /// Push settings associated with web app /// /// /// Headers that will be added to request. @@ -5165,28 +5530,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateMetadataWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary metadata, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateSitePushSettingsWithHttpMessagesAsync(string resourceGroupName, string name, PushSettings pushSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (metadata == null) + if (pushSettings == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "metadata"); + throw new ValidationException(ValidationRules.CannotBeNull, "pushSettings"); } - if (metadata != null) + if (pushSettings != null) { - metadata.Validate(); + pushSettings.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5200,43 +5592,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("metadata", metadata); + tracingParameters.Add("pushSettings", pushSettings); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateMetadata", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateSitePushSettings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5252,17 +5644,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(metadata != null) + if(pushSettings != null) { - _requestContent = SafeJsonConvert.SerializeObject(metadata, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(pushSettings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5270,7 +5662,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5284,14 +5676,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5313,7 +5705,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5326,9 +5718,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5346,11 +5738,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web app meta data. + /// Gets the Push settings associated with web app. /// - /// Gets the web app meta data. + /// + /// Gets the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -5361,20 +5755,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListMetadataWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListSitePushSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5390,40 +5811,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetadata", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSitePushSettings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5440,10 +5861,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5451,7 +5872,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5465,14 +5886,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5494,7 +5915,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5507,9 +5928,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5527,38 +5948,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web app publishing credentials + /// Gets the names of app settings and connection strings that stick to the + /// slot (not swapped). /// - /// Gets the web app publishing credentials + /// + /// Gets the names of app settings and connection strings that stick to the + /// slot (not swapped). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> ListPublishingCredentialsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginListPublishingCredentialsWithHttpMessagesAsync( - resourceGroupName, name, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Gets the web app publishing credentials - /// - /// Gets the web app publishing credentials - /// - /// Name of resource group - /// - /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -5566,20 +5967,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginListPublishingCredentialsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListSlotConfigurationNamesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5595,40 +6023,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginListPublishingCredentials", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSlotConfigurationNames", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5645,10 +6073,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5656,7 +6084,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5670,14 +6098,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5699,7 +6127,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5712,9 +6140,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5732,17 +6160,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Push settings associated with web app + /// Updates the names of application settings and connection string that remain + /// with the slot during swap operation. /// - /// Updates the Push settings associated with web app + /// + /// Updates the names of application settings and connection string that remain + /// with the slot during swap operation. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Push settings associated with web app + /// + /// Names of application settings and connection strings. See example. /// /// /// Headers that will be added to request. @@ -5750,24 +6182,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateSitePushSettingsWithHttpMessagesAsync(string resourceGroupName, string name, PushSettings pushSettings, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateSlotConfigurationNamesWithHttpMessagesAsync(string resourceGroupName, string name, SlotConfigNamesResource slotConfigNames, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (pushSettings == null) + if (slotConfigNames == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "pushSettings"); + throw new ValidationException(ValidationRules.CannotBeNull, "slotConfigNames"); } - if (this.Client.SubscriptionId == null) + if (slotConfigNames != null) + { + slotConfigNames.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5781,43 +6244,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("pushSettings", pushSettings); + tracingParameters.Add("slotConfigNames", slotConfigNames); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateSitePushSettings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateSlotConfigurationNames", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -5833,17 +6296,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(pushSettings != null) + if(slotConfigNames != null) { - _requestContent = SafeJsonConvert.SerializeObject(pushSettings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(slotConfigNames, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -5851,7 +6314,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -5865,14 +6328,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -5894,7 +6357,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -5907,9 +6370,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -5927,14 +6390,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the Push settings associated with web app + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. /// - /// Gets the Push settings associated with web app + /// + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -5942,20 +6409,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListSitePushSettingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -5971,40 +6465,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSitePushSettings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetConfiguration", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6021,10 +6515,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6032,7 +6526,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6046,14 +6540,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6075,7 +6569,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6088,9 +6582,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6108,16 +6602,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the names of application settings and connection string that remain - /// with the slot during swap operation + /// Updates the configuration of an app. /// - /// Gets the names of application settings and connection string that remain - /// with the slot during swap operation + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// JSON representation of a SiteConfig object. See example. /// /// /// Headers that will be added to request. @@ -6125,20 +6622,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListSlotConfigurationNamesWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (siteConfig == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); + } + if (siteConfig != null) + { + siteConfig.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6152,42 +6684,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("siteConfig", siteConfig); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSlotConfigurationNames", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateConfiguration", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6203,11 +6736,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(siteConfig != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteConfig, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6215,7 +6754,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6229,14 +6768,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6258,7 +6797,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6271,9 +6810,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6291,20 +6830,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the names of application settings and connection string that - /// remain with the slot during swap operation + /// Updates the configuration of an app. /// - /// Updates the names of application settings and connection string that - /// remain with the slot during swap operation + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body containing the names of application settings and connection - /// strings + /// + /// JSON representation of a SiteConfig object. See example. /// /// /// Headers that will be added to request. @@ -6312,28 +6850,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateSlotConfigurationNamesWithHttpMessagesAsync(string resourceGroupName, string name, SlotConfigNamesResource slotConfigNames, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slotConfigNames == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slotConfigNames"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (slotConfigNames != null) + if (siteConfig == null) { - slotConfigNames.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6347,43 +6908,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slotConfigNames", slotConfigNames); + tracingParameters.Add("siteConfig", siteConfig); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateSlotConfigurationNames", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateConfiguration", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6399,17 +6960,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(slotConfigNames != null) + if(siteConfig != null) { - _requestContent = SafeJsonConvert.SerializeObject(slotConfigNames, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteConfig, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6417,7 +6978,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6431,14 +6992,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6460,7 +7021,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6473,9 +7034,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6493,14 +7054,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the configuration of the web app + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. /// - /// Gets the configuration of the web app + /// + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -6508,20 +7073,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListConfigurationSnapshotInfoWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6537,40 +7129,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetConfiguration", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListConfigurationSnapshotInfo", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6587,10 +7179,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6598,7 +7190,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6612,14 +7204,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6641,7 +7233,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -6654,9 +7246,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6674,17 +7266,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the configuration of web app + /// Gets a snapshot of the configuration of an app at a previous point in time. /// - /// Update the configuration of web app + /// + /// Gets a snapshot of the configuration of an app at a previous point in time. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the configuraiton setting for the web app + /// + /// The ID of the snapshot to read. /// /// /// Headers that will be added to request. @@ -6692,28 +7286,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetConfigurationSnapshotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (siteConfig == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteConfig != null) + if (snapshotId == null) { - siteConfig.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "snapshotId"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6727,43 +7344,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteConfig", siteConfig); + tracingParameters.Add("snapshotId", snapshotId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateConfiguration", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetConfigurationSnapshot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{snapshotId}", System.Uri.EscapeDataString(snapshotId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6779,17 +7397,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteConfig != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteConfig, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6797,7 +7409,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -6811,14 +7423,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -6853,9 +7465,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -6873,17 +7485,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the configuration of web app + /// Reverts the configuration of an app to a previous snapshot. /// - /// Update the configuration of web app + /// + /// Reverts the configuration of an app to a previous snapshot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the configuraiton setting for the web app + /// + /// The ID of the snapshot to read. /// /// /// Headers that will be added to request. @@ -6891,24 +7505,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateConfigurationWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task RecoverSiteConfigurationSnapshotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteConfig == null) + if (snapshotId == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); + throw new ValidationException(ValidationRules.CannotBeNull, "snapshotId"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -6922,43 +7560,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteConfig", siteConfig); + tracingParameters.Add("snapshotId", snapshotId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateConfiguration", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "RecoverSiteConfigurationSnapshot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{snapshotId}", System.Uri.EscapeDataString(snapshotId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -6974,17 +7613,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteConfig != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteConfig, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -6992,7 +7625,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7000,22 +7633,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -7035,31 +7660,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -7068,14 +7675,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -7083,6 +7694,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -7092,11 +7715,26 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -7115,37 +7753,37 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "ListDeployments", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7162,10 +7800,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7173,7 +7811,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7187,14 +7825,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7229,9 +7867,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7249,17 +7887,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the deployment + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get the deployment + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// /// Headers that will be added to request. @@ -7267,6 +7909,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -7276,6 +7930,21 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -7284,7 +7953,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "id"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -7304,38 +7973,38 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "GetDeployment", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7352,10 +8021,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7363,7 +8032,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7377,14 +8046,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7419,9 +8088,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7439,20 +8108,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Create a deployment + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Create a deployment + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// ID of an existing deployment. /// /// - /// Details of deployment + /// Deployment details. /// /// /// Headers that will be added to request. @@ -7460,6 +8133,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -7469,6 +8154,21 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -7485,7 +8185,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { deployment.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -7506,38 +8206,38 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "CreateDeployment", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7555,15 +8255,15 @@ internal WebAppsOperations(WebSiteManagementClient client) string _requestContent = null; if(deployment != null) { - _requestContent = SafeJsonConvert.SerializeObject(deployment, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(deployment, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7571,7 +8271,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7585,14 +8285,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7627,9 +8327,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -7647,17 +8347,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Delete the deployment + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Delete the deployment + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of the deployment + /// Deployment ID. /// /// /// Headers that will be added to request. @@ -7665,15 +8369,39 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -7682,7 +8410,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "id"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -7702,38 +8430,38 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.Enter(_invocationId, this, "DeleteDeployment", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7750,10 +8478,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7761,7 +8489,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7769,22 +8497,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -7804,31 +8524,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -7837,14 +8539,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get web app hostname bindings + /// Lists ownership identifiers for domain associated with web app. /// - /// Get web app hostname bindings + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -7852,20 +8556,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListHostNameBindingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDomainOwnershipIdentifiersWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -7881,40 +8612,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHostNameBindings", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDomainOwnershipIdentifiers", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -7931,10 +8662,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -7942,7 +8673,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -7956,14 +8687,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -7985,7 +8716,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -7998,9 +8729,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8018,17 +8749,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get web app binding for a hostname + /// Get domain ownership identifier for web app. /// - /// Get web app binding for a hostname + /// + /// Get domain ownership identifier for web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of host + /// + /// Name of domain ownership identifier. /// /// /// Headers that will be added to request. @@ -8036,24 +8769,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (hostName == null) + if (domainOwnershipIdentifierName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -8067,44 +8827,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("hostName", hostName); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetHostNameBinding", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetDomainOwnershipIdentifier", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{hostName}", Uri.EscapeDataString(hostName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8121,10 +8881,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8132,7 +8892,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8146,14 +8906,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8175,7 +8935,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8188,9 +8948,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8208,20 +8968,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a web app hostname binding + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a web app hostname binding + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of host + /// + /// Name of domain ownership identifier. /// - /// - /// Host name binding information + /// + /// A JSON representation of the domain ownership properties. /// /// /// Headers that will be added to request. @@ -8229,32 +8993,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (hostName == null) + if (domainOwnershipIdentifierName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); } - if (hostNameBinding == null) + if (domainOwnershipIdentifier == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "hostNameBinding"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifier"); } - if (hostNameBinding != null) + if (domainOwnershipIdentifier != null) { - hostNameBinding.Validate(); + domainOwnershipIdentifier.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -8268,45 +9059,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("hostName", hostName); - tracingParameters.Add("hostNameBinding", hostNameBinding); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); + tracingParameters.Add("domainOwnershipIdentifier", domainOwnershipIdentifier); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHostNameBinding", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateDomainOwnershipIdentifier", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{hostName}", Uri.EscapeDataString(hostName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8322,17 +9113,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(hostNameBinding != null) + if(domainOwnershipIdentifier != null) { - _requestContent = SafeJsonConvert.SerializeObject(hostNameBinding, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(domainOwnershipIdentifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8340,7 +9131,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8354,14 +9145,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8383,7 +9174,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8396,9 +9187,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8416,17 +9207,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Deletes a host name binding + /// Deletes a domain ownership identifier for a web app. /// - /// Deletes a host name binding + /// + /// Deletes a domain ownership identifier for a web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of host + /// + /// Name of domain ownership identifier. /// /// /// Headers that will be added to request. @@ -8434,24 +9227,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (hostName == null) + if (domainOwnershipIdentifierName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -8465,44 +9282,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("hostName", hostName); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteHostNameBinding", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteDomainOwnershipIdentifier", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{hostName}", Uri.EscapeDataString(hostName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8519,10 +9336,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8530,7 +9347,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8538,22 +9355,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -8573,31 +9382,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -8606,20 +9397,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The relay name for this hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// /// /// Headers that will be added to request. @@ -8627,28 +9422,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateDomainOwnershipIdentifierWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (namespaceName == null) + if (domainOwnershipIdentifierName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); } - if (relayName == null) + if (domainOwnershipIdentifier == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifier"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -8662,46 +9484,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); + tracingParameters.Add("domainOwnershipIdentifier", domainOwnershipIdentifier); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateDomainOwnershipIdentifier", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8717,11 +9538,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(domainOwnershipIdentifier != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(domainOwnershipIdentifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8729,7 +9556,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8743,14 +9570,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8772,7 +9599,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -8785,9 +9612,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -8805,23 +9632,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Get hostname bindings for an app or a deployment slot. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection - /// - /// - /// The details of the hybrid connection + /// Name of the app. /// /// /// Headers that will be added to request. @@ -8829,36 +9649,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListHostNameBindingsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (namespaceName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); - } - if (relayName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); - } - if (connectionEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionEnvelope != null) + if (name == null) { - connectionEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -8872,47 +9703,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHybridConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHostNameBindings", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -8928,17 +9754,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -8946,7 +9766,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -8960,14 +9780,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -8989,7 +9809,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9002,9 +9822,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9022,20 +9842,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes a Hybrid Connection from this site. + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). /// - /// Removes a Hybrid Connection from this site. + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Hostname in the hostname binding. /// /// /// Headers that will be added to request. @@ -9043,28 +9864,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (namespaceName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (relayName == null) + if (hostName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -9078,46 +9922,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); + tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteHybridConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetHostNameBinding", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{hostName}", System.Uri.EscapeDataString(hostName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9134,10 +9976,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9145,7 +9987,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9159,14 +10001,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9188,7 +10030,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9201,9 +10043,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9221,23 +10063,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a hostname binding for an app. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a hostname binding for an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Hostname in the hostname binding. /// - /// - /// The details of the hybrid connection + /// + /// Binding details. This is the JSON representation of a HostNameBinding + /// object. /// /// /// Headers that will be added to request. @@ -9245,32 +10087,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (namespaceName == null) + if (hostName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); } - if (relayName == null) + if (hostNameBinding == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "hostNameBinding"); } - if (connectionEnvelope == null) + if (hostNameBinding != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + hostNameBinding.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -9284,47 +10153,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); + tracingParameters.Add("hostName", hostName); + tracingParameters.Add("hostNameBinding", hostNameBinding); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateHybridConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHostNameBinding", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{hostName}", System.Uri.EscapeDataString(hostName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9340,17 +10207,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) + if(hostNameBinding != null) { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(hostNameBinding, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9358,7 +10225,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9372,14 +10239,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9401,7 +10268,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -9414,9 +10281,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9434,20 +10301,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the send key name and value for a Hybrid Connection + /// Deletes a hostname binding for an app. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// Deletes a hostname binding for an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// + /// Hostname in the hostname binding. /// /// /// Headers that will be added to request. @@ -9455,28 +10321,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListHybridConnectionKeysWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteHostNameBindingWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (namespaceName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (relayName == null) + if (hostName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -9490,46 +10376,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); + tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionKeys", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteHostNameBinding", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{hostName}", System.Uri.EscapeDataString(hostName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9546,10 +10430,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9557,7 +10441,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9565,22 +10449,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -9600,31 +10476,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -9633,35 +10491,78 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListHybridConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (namespaceName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -9675,42 +10576,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnections", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -9727,10 +10632,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -9738,7 +10643,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -9752,14 +10657,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -9794,9 +10699,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -9814,223 +10719,89 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListRelayServiceConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (this.Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-08-01"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("apiVersion", apiVersion); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListRelayServiceConnections", tracingParameters); - } - // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); - List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += "?" + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); - // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); - } - if (this.Client.AcceptLanguage != null) + if (resourceGroupName != null) { - if (_httpRequest.Headers.Contains("accept-language")) + if (resourceGroupName.Length > 90) { - _httpRequest.Headers.Remove("accept-language"); + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); - } - if (customHeaders != null) - { - foreach(var _header in customHeaders) + if (resourceGroupName.Length < 1) { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (this.Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) + if (name == null) { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (_shouldTrace) + if (namespaceName == null) { - ServiceClientTracing.Exit(_invocationId, _result); + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); } - return _result; - } - - /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. - /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. - /// - /// The resource group name - /// - /// - /// The name of the web app - /// - /// - /// The name by which the Hybrid Connection is identified - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (resourceGroupName == null) + if (relayName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } - if (name == null) + if (connectionEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); } - if (entityName == null) + if (connectionEnvelope != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + connectionEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -10044,44 +10815,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetRelayServiceConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHybridConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10097,11 +10871,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10109,7 +10889,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10123,14 +10903,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10152,7 +10932,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10165,9 +10945,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10185,22 +10965,224 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Removes a Hybrid Connection from this site. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Removes a Hybrid Connection from this site. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (namespaceName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeleteHybridConnection", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 404) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection /// /// - /// The details of the Hybrid Connection + /// The details of the hybrid connection /// /// /// Headers that will be added to request. @@ -10208,32 +11190,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateHybridConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (entityName == null) + if (namespaceName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); } - if (connectionEnvelope == null) + if (relayName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } - if (connectionEnvelope != null) + if (connectionEnvelope == null) { - connectionEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -10247,45 +11256,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateRelayServiceConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateHybridConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10303,15 +11314,15 @@ internal WebAppsOperations(WebSiteManagementClient client) string _requestContent = null; if(connectionEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10319,7 +11330,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10333,14 +11344,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10362,7 +11373,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10375,9 +11386,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10395,19 +11406,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// Gets the send key name and value for a Hybrid Connection. /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// + /// Gets the send key name and value for a Hybrid Connection. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection /// /// /// Headers that will be added to request. @@ -10415,24 +11429,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListHybridConnectionKeysWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (entityName == null) + if (namespaceName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -10446,44 +11491,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteRelayServiceConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionKeys", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10500,10 +11547,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10511,7 +11558,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10525,14 +11572,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10554,7 +11601,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10567,9 +11614,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10587,51 +11634,64 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Retrieves all Service Bus Hybrid Connections used by this Web App. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified - /// - /// - /// The details of the Hybrid Connection - /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListHybridConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (entityName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionEnvelope == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -10645,45 +11705,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateRelayServiceConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnections", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10699,17 +11756,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10717,7 +11768,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10731,14 +11782,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10760,7 +11811,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10773,9 +11824,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10793,14 +11844,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets all instance of a web app + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). /// - /// Gets all instance of a web app + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -10808,20 +11863,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListInstanceIdentifiersWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListRelayServiceConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -10837,40 +11919,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListInstanceIdentifiers", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListRelayServiceConnections", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -10887,10 +11969,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -10898,7 +11980,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -10912,14 +11994,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -10941,7 +12023,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -10954,9 +12036,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -10974,17 +12056,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// Gets a hybrid connection configuration by its name. /// - /// List deployments + /// + /// Gets a hybrid connection configuration by its name. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of web app instance + /// + /// Name of the hybrid connection. /// /// /// Headers that will be added to request. @@ -10992,24 +12076,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListInstanceDeploymentsWithHttpMessagesAsync(string resourceGroupName, string name, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (instanceId == null) + if (entityName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -11023,44 +12134,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("instanceId", instanceId); + tracingParameters.Add("entityName", entityName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListInstanceDeployments", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetRelayServiceConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -11077,10 +12188,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -11088,7 +12199,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -11102,14 +12213,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -11131,7 +12242,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -11144,9 +12255,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -11164,20 +12275,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the deployment + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). /// - /// Get the deployment + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// Name of the hybrid connection configuration. /// - /// - /// Id of web app instance + /// + /// Details of the hybrid connection configuration. /// /// /// Headers that will be added to request. @@ -11185,28 +12300,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (id == null) + if (entityName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); } - if (instanceId == null) + if (connectionEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (connectionEnvelope != null) + { + connectionEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -11220,46 +12366,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); - tracingParameters.Add("instanceId", instanceId); + tracingParameters.Add("entityName", entityName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetInstanceDeployment", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateRelayServiceConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -11275,11 +12420,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -11287,7 +12438,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -11301,14 +12452,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -11330,7 +12481,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -11343,9 +12494,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -11363,23 +12514,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Create a deployment + /// Deletes a relay service connection by its name. /// - /// Create a deployment + /// + /// Deletes a relay service connection by its name. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment - /// - /// - /// Id of web app instance + /// Name of the app. /// - /// - /// Details of deployment + /// + /// Name of the hybrid connection configuration. /// /// /// Headers that will be added to request. @@ -11387,36 +12534,250 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (id == null) + if (entityName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); } - if (instanceId == null) + if (Client.SubscriptionId == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } - if (deployment == null) + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) { - throw new ValidationException(ValidationRules.CannotBeNull, "deployment"); + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("entityName", entityName); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeleteRelayServiceConnection", tracingParameters); } - if (deployment != null) + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) { - deployment.Validate(); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } - if (this.Client.SubscriptionId == null) + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 404) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Details of the hybrid connection configuration. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> UpdateRelayServiceConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (entityName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -11430,47 +12791,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); - tracingParameters.Add("instanceId", instanceId); - tracingParameters.Add("deployment", deployment); + tracingParameters.Add("entityName", entityName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateInstanceDeployment", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateRelayServiceConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -11486,17 +12845,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(deployment != null) + if(connectionEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(deployment, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -11504,7 +12863,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -11518,14 +12877,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -11547,7 +12906,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -11560,9 +12919,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -11580,20 +12939,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Delete the deployment + /// Gets all scale-out instances of an app. /// - /// Delete the deployment + /// + /// Gets all scale-out instances of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment - /// - /// - /// Id of web app instance + /// Name of the app. /// /// /// Headers that will be added to request. @@ -11601,28 +12956,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListInstanceIdentifiersWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (id == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (instanceId == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -11636,46 +13010,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); - tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteInstanceDeployment", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListInstanceIdentifiers", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -11692,10 +13062,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -11703,7 +13073,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -11717,14 +13087,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -11746,7 +13116,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -11759,9 +13129,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -11779,14 +13149,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new web app or modifies an existing web app. + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of the app. + /// + /// + /// The ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// Headers that will be added to request. @@ -11794,201 +13172,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> IsCloneableWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListInstanceDeploymentsWithHttpMessagesAsync(string resourceGroupName, string name, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (this.Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-08-01"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) + if (resourceGroupName != null) { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("apiVersion", apiVersion); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "IsCloneable", tracingParameters); - } - // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); - List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += "?" + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); - // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); - } - if (this.Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) + if (resourceGroupName.Length > 90) { - _httpRequest.Headers.Remove("accept-language"); + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); - } - if (customHeaders != null) - { - foreach(var _header in customHeaders) + if (resourceGroupName.Length < 1) { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (this.Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); } } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Gets metric definitions for web app - /// - /// Gets metric definitions for web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task>> ListMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (instanceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -12002,42 +13230,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListInstanceDeployments", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -12054,10 +13284,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -12065,7 +13295,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -12079,14 +13309,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -12108,7 +13338,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -12121,9 +13351,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -12141,23 +13371,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets metrics for web app + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Gets metrics for web app + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// If true, metric details are included in response + /// + /// Deployment ID. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// Headers that will be added to request. @@ -12165,20 +13397,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (id == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "id"); + } + if (instanceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -12192,52 +13459,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("details", details); - tracingParameters.Add("filter", filter); + tracingParameters.Add("id", id); + tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetrics", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetInstanceDeployment", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (details != null) - { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); - } - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -12254,10 +13515,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -12265,7 +13526,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -12279,14 +13540,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -12308,7 +13569,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -12321,9 +13582,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -12341,52 +13602,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Restores a web app + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Restores a web app - /// - /// Azure subscription - /// + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Migration options - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> MigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send Request - AzureOperationResponse _response = await BeginMigrateStorageWithHttpMessagesAsync( - subscriptionName, resourceGroupName, name, options, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); - } - - /// - /// Restores a web app - /// - /// Restores a web app - /// - /// Azure subscription + /// Name of the app. /// - /// - /// Name of resource group + /// + /// ID of an existing deployment. /// - /// - /// Name of web app + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// - /// - /// Migration options + /// + /// Deployment details. /// /// /// Headers that will be added to request. @@ -12394,32 +13631,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginMigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (subscriptionName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "subscriptionName"); - } if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (options == null) + if (id == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "id"); + } + if (instanceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + } + if (deployment == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "options"); + throw new ValidationException(ValidationRules.CannotBeNull, "deployment"); } - if (options != null) + if (deployment != null) { - options.Validate(); + deployment.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -12431,50 +13699,49 @@ internal WebAppsOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("subscriptionName", subscriptionName); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("options", options); + tracingParameters.Add("id", id); + tracingParameters.Add("instanceId", instanceId); + tracingParameters.Add("deployment", deployment); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginMigrateStorage", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateInstanceDeployment", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (subscriptionName != null) - { - _queryParameters.Add(string.Format("subscriptionName={0}", Uri.EscapeDataString(subscriptionName))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -12490,17 +13757,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(options != null) + if(deployment != null) { - _requestContent = SafeJsonConvert.SerializeObject(options, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(deployment, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -12508,7 +13775,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -12522,14 +13789,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -12551,7 +13818,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -12564,9 +13831,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -12584,44 +13851,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// MySql migration options - /// - /// - /// The headers that will be added to request. + /// Name of the app. /// - /// - /// The cancellation token. - /// - public async Task> MigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginMigrateMySqlWithHttpMessagesAsync( - resourceGroupName, name, migrationRequestEnvelope, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Migrates a local (in-app) MySql database to a remote MySql database - /// - /// Migrates a local (in-app) MySql database to a remote MySql database - /// - /// Name of resource group - /// - /// - /// Name of web app + /// + /// Deployment ID. /// - /// - /// MySql migration options + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// Headers that will be added to request. @@ -12629,28 +13877,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginMigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteInstanceDeploymentWithHttpMessagesAsync(string resourceGroupName, string name, string id, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (migrationRequestEnvelope == null) + if (id == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "migrationRequestEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "id"); } - if (migrationRequestEnvelope != null) + if (instanceId == null) { - migrationRequestEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -12664,43 +13936,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("migrationRequestEnvelope", migrationRequestEnvelope); + tracingParameters.Add("id", id); + tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginMigrateMySql", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteInstanceDeployment", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -12716,17 +13991,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(migrationRequestEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(migrationRequestEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -12734,7 +14003,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -12742,22 +14011,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -12777,31 +14038,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -12810,17 +14053,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a view of all network features in use on this web app. + /// Shows whether an app can be cloned to another resource group or + /// subscription. /// - /// Retrieves a view of all network features in use on this web app. + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The type of view. This can either be "summary" or "detailed". + /// Name of the app. /// /// /// Headers that will be added to request. @@ -12828,24 +14072,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListNetworkFeaturesWithHttpMessagesAsync(string resourceGroupName, string name, string view, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> IsCloneableWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (view == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "view"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -12859,44 +14126,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("view", view); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListNetworkFeatures", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "IsCloneable", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{view}", Uri.EscapeDataString(view)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -12913,10 +14178,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -12924,7 +14189,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -12932,20 +14197,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 404) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -12967,7 +14232,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -12980,9 +14245,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -13000,17 +14265,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Start capturing network packets for the site + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Start capturing network packets for the site + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The duration to keep capturing in seconds + /// Name of the app. /// /// /// Headers that will be added to request. @@ -13018,20 +14282,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> StartWebSiteNetworkTraceWithHttpMessagesAsync(string resourceGroupName, string name, int? durationInSeconds = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricDefinitionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -13045,47 +14336,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("durationInSeconds", durationInSeconds); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "StartWebSiteNetworkTrace", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitions", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (durationInSeconds != null) - { - _queryParameters.Add(string.Format("durationInSeconds={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(durationInSeconds, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -13102,10 +14388,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -13113,7 +14399,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -13127,14 +14413,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -13156,7 +14442,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -13169,9 +14455,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -13189,14 +14475,26 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Stop ongoing capturing network packets for the site + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Stop ongoing capturing network packets for the site + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Specify "true" to include metric details in the response. It is "false" by + /// default. + /// + /// + /// Return only metrics specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -13204,20 +14502,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> StopWebSiteNetworkTraceWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricsWithHttpMessagesAsync(string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -13231,42 +14556,52 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("details", details); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "StopWebSiteNetworkTrace", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetrics", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -13283,10 +14618,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -13294,7 +14629,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -13308,14 +14643,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -13337,7 +14672,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -13350,9 +14685,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -13370,35 +14705,132 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Generates new random app publishing password + /// Restores a web app. /// - /// Generates new random app publishing password + /// + /// Restores a web app. + /// + /// + /// Azure subscription + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Migration migrationOptions + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> MigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginMigrateStorageWithHttpMessagesAsync(subscriptionName, resourceGroupName, name, migrationOptions, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Migrates a local (in-app) MySql database to a remote MySql database. + /// + /// + /// Migrates a local (in-app) MySql database to a remote MySql database. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of web app + /// + /// + /// MySql migration options + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> MigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginMigrateMySqlWithHttpMessagesAsync(resourceGroupName, name, migrationRequestEnvelope, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// The type of view. This can either be "summary" or "detailed". + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GenerateNewSitePublishingPasswordWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListNetworkFeaturesWithHttpMessagesAsync(string resourceGroupName, string name, string view, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (view == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "view"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -13412,42 +14844,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("view", view); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GenerateNewSitePublishingPassword", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListNetworkFeatures", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{view}", System.Uri.EscapeDataString(view)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -13464,10 +14898,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -13475,7 +14909,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -13483,20 +14917,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -13518,7 +14952,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -13531,9 +14965,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -13551,17 +14985,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the operation for a web app + /// Start capturing network packets for the site. /// - /// Gets the operation for a web app + /// + /// Start capturing network packets for the site. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// Id of an operation + /// + /// The duration to keep capturing in seconds /// /// /// Headers that will be added to request. @@ -13569,24 +15005,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetOperationWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> StartWebSiteNetworkTraceWithHttpMessagesAsync(string resourceGroupName, string name, int? durationInSeconds = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (operationId == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "operationId"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -13600,44 +15059,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("operationId", operationId); + tracingParameters.Add("durationInSeconds", durationInSeconds); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetOperation", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "StartWebSiteNetworkTrace", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{operationId}", Uri.EscapeDataString(operationId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (durationInSeconds != null) + { + _queryParameters.Add(string.Format("durationInSeconds={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(durationInSeconds, Client.SerializationSettings).Trim('"')))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -13654,10 +15116,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -13665,7 +15127,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -13679,14 +15141,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -13708,7 +15170,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -13721,9 +15183,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -13741,20 +15203,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets perfmon counters for web app + /// Stop ongoing capturing network packets for the site. /// - /// Gets perfmon counters for web app + /// + /// Stop ongoing capturing network packets for the site. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and - /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq - /// duration'[Hour|Minute|Day]'. + /// The name of the web app /// /// /// Headers that will be added to request. @@ -13762,20 +15220,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListPerfMonCountersWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> StopWebSiteNetworkTraceWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -13789,47 +15274,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPerfMonCounters", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "StopWebSiteNetworkTrace", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -13846,10 +15326,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -13857,7 +15337,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -13871,14 +15351,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -13900,7 +15380,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -13913,9 +15393,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -13933,14 +15413,18 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets sites's event logs + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). /// - /// Gets sites's event logs + /// + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -13948,201 +15432,44 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetSitePhpErrorLogFlagWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task GenerateNewSitePublishingPasswordWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (this.Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-08-01"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("apiVersion", apiVersion); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSitePhpErrorLogFlag", tracingParameters); - } - // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); - List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += "?" + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); - // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); - } - if (this.Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); - } - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (this.Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) + if (resourceGroupName != null) { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) + if (resourceGroupName.Length > 90) { - _httpResponse.Dispose(); + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse>(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try + if (resourceGroupName.Length < 1) { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); } - catch (JsonException ex) + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); } } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// List premier add ons for web app - /// - /// List premier add ons for web app - /// - /// Resource group - /// - /// - /// web app name - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> ListPremierAddOnsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -14158,40 +15485,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPremierAddOns", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GenerateNewSitePublishingPassword", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -14208,10 +15535,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -14219,7 +15546,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -14227,22 +15554,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -14262,31 +15581,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -14295,17 +15596,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets a specific premier add on + /// Gets perfmon counters for web app. /// - /// Gets a specific premier add on + /// + /// Gets perfmon counters for web app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of web app /// - /// - /// Premier add on + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and + /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -14313,24 +15619,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListPerfMonCountersWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (premierAddOnName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -14344,44 +15673,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("premierAddOnName", premierAddOnName); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetPremierAddOn", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPerfMonCounters", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{premierAddOnName}", Uri.EscapeDataString(premierAddOnName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -14398,10 +15730,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -14409,7 +15741,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -14423,14 +15755,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -14452,7 +15784,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -14465,9 +15797,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -14485,20 +15817,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Add premier add-on + /// Gets web app's event logs. /// - /// Add premier add-on + /// + /// Gets web app's event logs. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on - /// - /// - /// Premier add on request + /// Name of web app /// /// /// Headers that will be added to request. @@ -14506,28 +15834,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> AddPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetSitePhpErrorLogFlagWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (premierAddOnName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (premierAddOn == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOn"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -14541,45 +15888,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("premierAddOnName", premierAddOnName); - tracingParameters.Add("premierAddOn", premierAddOn); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "AddPremierAddOn", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetSitePhpErrorLogFlag", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{premierAddOnName}", Uri.EscapeDataString(premierAddOnName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -14595,17 +15939,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(premierAddOn != null) - { - _requestContent = SafeJsonConvert.SerializeObject(premierAddOn, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -14613,7 +15951,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -14627,14 +15965,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -14656,7 +15994,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -14669,9 +16007,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -14689,17 +16027,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Delete premier add-on + /// Gets the premier add-ons of an app. /// - /// Delete premier add-on + /// + /// Gets the premier add-ons of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on + /// Name of the app. /// /// /// Headers that will be added to request. @@ -14707,24 +16044,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeletePremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListPremierAddOnsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (premierAddOnName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -14738,44 +16098,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("premierAddOnName", premierAddOnName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeletePremierAddOn", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPremierAddOns", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{premierAddOnName}", Uri.EscapeDataString(premierAddOnName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -14792,10 +16150,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -14803,7 +16161,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -14817,14 +16175,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -14846,7 +16204,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -14859,9 +16217,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -14879,18 +16237,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the publishing profile for web app + /// Gets a named add-on of an app. /// - /// Gets the publishing profile for web app + /// + /// Gets a named add-on of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP format. + /// + /// Add-on name. /// /// /// Headers that will be added to request. @@ -14898,24 +16257,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListPublishingProfileXmlWithSecretsWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions options, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (options == null) + if (premierAddOnName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "options"); + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -14929,43 +16315,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("options", options); + tracingParameters.Add("premierAddOnName", premierAddOnName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPublishingProfileXmlWithSecrets", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetPremierAddOn", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{premierAddOnName}", System.Uri.EscapeDataString(premierAddOnName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -14981,17 +16368,2436 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(options != null) + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Updates a named add-on of an app. + /// + /// + /// Updates a named add-on of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Add-on name. + /// + /// + /// A JSON representation of the edited premier add-on. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> AddPremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (premierAddOnName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + } + if (premierAddOn == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOn"); + } + if (premierAddOn != null) + { + premierAddOn.Validate(); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("premierAddOnName", premierAddOnName); + tracingParameters.Add("premierAddOn", premierAddOn); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "AddPremierAddOn", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{premierAddOnName}", System.Uri.EscapeDataString(premierAddOnName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(premierAddOn != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(premierAddOn, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Delete a premier add-on from an app. + /// + /// + /// Delete a premier add-on from an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Add-on name. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeletePremierAddOnWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (premierAddOnName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("premierAddOnName", premierAddOnName); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeletePremierAddOn", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{premierAddOnName}", System.Uri.EscapeDataString(premierAddOnName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Gets the publishing profile for an app (or deployment slot, if specified). + /// + /// + /// Gets the publishing profile for an app (or deployment slot, if specified). + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Specifies publishingProfileOptions for publishing profile. For example, use + /// {"format": "FileZilla3"} to get a FileZilla publishing profile. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> ListPublishingProfileXmlWithSecretsWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (publishingProfileOptions == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "publishingProfileOptions"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("publishingProfileOptions", publishingProfileOptions); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListPublishingProfileXmlWithSecrets", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(publishingProfileOptions != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(publishingProfileOptions, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _result.Body = await _httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Recovers a deleted web app. + /// + /// + /// Recovers a deleted web app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of web app + /// + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> RecoverWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginRecoverWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task ResetProductionSlotConfigWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ResetProductionSlotConfig", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Restarts an app (or deployment slot, if specified). + /// + /// + /// Restarts an app (or deployment slot, if specified). + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Specify true to apply the configuration settings and restarts the app only + /// if necessary. By default, the API always restarts and reprovisions the app. + /// + /// + /// Specify true to block until the app is restarted. By default, it is set to + /// false, and the API responds immediately (asynchronous). + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task RestartWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("softRestart", softRestart); + tracingParameters.Add("synchronous", synchronous); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Restart", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (softRestart != null) + { + _queryParameters.Add(string.Format("softRestart={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(softRestart, Client.SerializationSettings).Trim('"')))); + } + if (synchronous != null) + { + _queryParameters.Add(string.Format("synchronous={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(synchronous, Client.SerializationSettings).Trim('"')))); + } + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Gets an app's deployment slots. + /// + /// + /// Gets an app's deployment slots. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListSlotsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListSlots", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Gets the details of a web, mobile, or API app. + /// + /// + /// Gets the details of a web, mobile, or API app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. By default, this API returns the production + /// slot. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GetSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "GetSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// Name of the deployment slot to create or update. By default, this API + /// attempts to create or modify the production slot. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateSlotWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app to delete. + /// + /// + /// Name of the deployment slot to delete. By default, the API deletes the + /// production slot. + /// + /// + /// If true, web app metrics are also deleted + /// + /// + /// Specify true if the App Service plan will be empty after app deletion and + /// you want to delete the empty App Service plan. By default, the empty App + /// Service plan is not deleted. + /// + /// + /// If true, DNS registration is skipped + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("slot", slot); + tracingParameters.Add("deleteMetrics", deleteMetrics); + tracingParameters.Add("deleteEmptyServerFarm", deleteEmptyServerFarm); + tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeleteSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (deleteMetrics != null) + { + _queryParameters.Add(string.Format("deleteMetrics={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(deleteMetrics, Client.SerializationSettings).Trim('"')))); + } + if (deleteEmptyServerFarm != null) + { + _queryParameters.Add(string.Format("deleteEmptyServerFarm={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(deleteEmptyServerFarm, Client.SerializationSettings).Trim('"')))); + } + if (skipDnsRegistration != null) + { + _queryParameters.Add(string.Format("skipDnsRegistration={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(skipDnsRegistration, Client.SerializationSettings).Trim('"')))); + } + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 404) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Analyze a custom hostname. + /// + /// + /// Analyze a custom hostname. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of web app + /// + /// + /// Name of web app slot. If not specified then will default to production + /// slot. + /// + /// + /// Custom hostname + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> AnalyzeCustomHostnameSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("slot", slot); + tracingParameters.Add("hostName", hostName); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "AnalyzeCustomHostnameSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (hostName != null) + { + _queryParameters.Add(string.Format("hostName={0}", System.Uri.EscapeDataString(hostName))); + } + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Applies the configuration settings from the target slot onto the current + /// slot. + /// + /// + /// Applies the configuration settings from the target slot onto the current + /// slot. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. + /// + /// + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task ApplySlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (slotSwapEntity == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + } + if (slotSwapEntity != null) + { + slotSwapEntity.Validate(); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("slotSwapEntity", slotSwapEntity); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ApplySlotConfigurationSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(slotSwapEntity != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(slotSwapEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 204) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Creates a backup of an app. + /// + /// + /// Creates a backup of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Backup configuration. You can use the JSON response from the POST action as + /// input here. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// create a backup for the production slot. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> BackupSlotWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (request == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("request", request); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "BackupSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(request != null) { - _requestContent = SafeJsonConvert.SerializeObject(options, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -14999,7 +18805,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -15013,14 +18819,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -15042,7 +18848,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -15052,7 +18858,20 @@ internal WebAppsOperations(WebSiteManagementClient client) // Deserialize Response if ((int)_statusCode == 200) { - _result.Body = await _httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } } if (_shouldTrace) { @@ -15062,46 +18881,246 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Recovers a deleted web app + /// Gets existing backups of an app. /// - /// Recovers a deleted web app + /// + /// Gets existing backups of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// backups of the production slot. /// /// - /// The headers that will be added to request. + /// Headers that will be added to request. /// /// /// The cancellation token. /// - public async Task> RecoverWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListBackupsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - // Send request - AzureOperationResponse _response = await BeginRecoverWithHttpMessagesAsync( - resourceGroupName, name, recoveryEntity, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "ListBackupsSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; } /// - /// Recovers a deleted web app + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. /// - /// Recovers a deleted web app + /// + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// A RestoreRequest object that includes Azure storage URL and blog name for + /// discovery of backup. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// perform discovery for the production slot. /// /// /// Headers that will be added to request. @@ -15109,24 +19128,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginRecoverWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> DiscoverRestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (recoveryEntity == null) + if (request == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "recoveryEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -15140,43 +19194,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("recoveryEntity", recoveryEntity); + tracingParameters.Add("request", request); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginRecover", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DiscoverRestoreSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -15192,17 +19248,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(recoveryEntity != null) + if(request != null) { - _requestContent = SafeJsonConvert.SerializeObject(recoveryEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -15210,7 +19266,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -15224,14 +19280,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -15253,7 +19309,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -15266,9 +19322,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -15286,16 +19342,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// Gets a backup of an app by its ID. /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// + /// Gets a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// ID of the backup. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// backup of the production slot. /// /// /// Headers that will be added to request. @@ -15303,20 +19366,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ResetProductionSlotConfigWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetBackupStatusSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (backupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -15330,42 +19428,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("backupId", backupId); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ResetProductionSlotConfig", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetBackupStatusSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -15382,10 +19484,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -15393,7 +19495,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -15407,14 +19509,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -15436,7 +19538,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -15449,9 +19551,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -15469,21 +19571,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Restarts web app + /// Deletes a backup of an app by its ID. /// - /// Restarts web app + /// + /// Deletes a backup of an app by its ID. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Soft restart applies the configuration settings and restarts the app if - /// necessary. Hard restart always restarts and reprovisions the app + /// + /// ID of the backup. /// - /// - /// If true then the API will block until the app has been restarted + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete a backup of the production slot. /// /// /// Headers that will be added to request. @@ -15491,20 +19595,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> RestartWithHttpMessagesAsync(string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteBackupSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (backupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -15518,52 +19654,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("softRestart", softRestart); - tracingParameters.Add("synchronous", synchronous); + tracingParameters.Add("backupId", backupId); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Restart", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteBackupSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (softRestart != null) - { - _queryParameters.Add(string.Format("softRestart={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(softRestart, this.Client.SerializationSettings).Trim('"')))); - } - if (synchronous != null) - { - _queryParameters.Add(string.Format("synchronous={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(synchronous, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -15580,10 +19710,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -15591,7 +19721,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -15599,22 +19729,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -15634,31 +19756,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -15667,17 +19771,32 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets all the slots for a web apps + /// Gets status of a web app backup that may be in progress, including secrets + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. /// - /// Gets all the slots for a web apps + /// + /// Gets status of a web app backup that may be in progress, including secrets + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// List of app properties to include in the response + /// + /// Id of backup + /// + /// + /// Information on backup request + /// + /// + /// Name of web app slot. If not specified then will default to production + /// slot. /// /// /// Headers that will be added to request. @@ -15685,20 +19804,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListSlotsWithHttpMessagesAsync(string resourceGroupName, string name, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListBackupStatusSecretsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (backupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + } + if (request == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -15712,47 +19874,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("propertiesToInclude", propertiesToInclude); + tracingParameters.Add("backupId", backupId); + tracingParameters.Add("request", request); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSlots", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListBackupStatusSecretsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (propertiesToInclude != null) - { - _queryParameters.Add(string.Format("propertiesToInclude={0}", Uri.EscapeDataString(propertiesToInclude))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -15768,11 +19930,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(request != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -15780,7 +19948,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -15794,14 +19962,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -15823,7 +19991,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -15836,9 +20004,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -15856,21 +20024,60 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get details of a web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Get details of a web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// ID of the backup. + /// + /// + /// Information on restore request /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// restore a backup of the production slot. + /// + /// + /// The headers that will be added to request. /// - /// - /// Additional web app properties included in the response + /// + /// The cancellation token. + /// + public async Task> RestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginRestoreSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, request, slot, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Replaces the application settings of an app. + /// + /// + /// Replaces the application settings of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Application settings of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the application settings for the production slot. /// /// /// Headers that will be added to request. @@ -15878,24 +20085,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string propertiesToInclude = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateApplicationSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary appSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (appSettings == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "appSettings"); + } + if (appSettings != null) + { + appSettings.Validate(); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -15909,49 +20151,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("appSettings", appSettings); tracingParameters.Add("slot", slot); - tracingParameters.Add("propertiesToInclude", propertiesToInclude); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateApplicationSettingsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (propertiesToInclude != null) - { - _queryParameters.Add(string.Format("propertiesToInclude={0}", Uri.EscapeDataString(propertiesToInclude))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -15967,11 +20205,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(appSettings != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(appSettings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -15979,7 +20223,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -15993,14 +20237,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -16022,7 +20266,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -16035,9 +20279,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -16055,84 +20299,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new web app or modifies an existing web app. - /// - /// Creates a new web app or modifies an existing web app. - /// - /// Name of the resource group - /// - /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS - /// - /// - /// Time to live in seconds for web app's default domain name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> CreateOrUpdateSlotWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send Request - AzureOperationResponse _response = await BeginCreateOrUpdateSlotWithHttpMessagesAsync( - resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, customHeaders, cancellationToken); - return await this.Client.GetPutOrPatchOperationResultAsync(_response, - customHeaders, - cancellationToken); - } - - /// - /// Creates a new web app or modifies an existing web app. + /// Gets the application settings of an app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Gets the application settings of an app. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS - /// - /// - /// Time to live in seconds for web app's default domain name + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the application settings for the production slot. /// /// /// Headers that will be added to request. @@ -16140,32 +20320,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginCreateOrUpdateSlotWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListApplicationSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (siteEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "siteEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (siteEnvelope != null) + if (name == null) { - siteEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -16179,65 +20378,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteEnvelope", siteEnvelope); tracingParameters.Add("slot", slot); - tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); - tracingParameters.Add("skipCustomDomainVerification", skipCustomDomainVerification); - tracingParameters.Add("forceDnsRegistration", forceDnsRegistration); - tracingParameters.Add("ttlInSeconds", ttlInSeconds); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListApplicationSettingsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (skipDnsRegistration != null) - { - _queryParameters.Add(string.Format("skipDnsRegistration={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(skipDnsRegistration, this.Client.SerializationSettings).Trim('"')))); - } - if (skipCustomDomainVerification != null) - { - _queryParameters.Add(string.Format("skipCustomDomainVerification={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(skipCustomDomainVerification, this.Client.SerializationSettings).Trim('"')))); - } - if (forceDnsRegistration != null) - { - _queryParameters.Add(string.Format("forceDnsRegistration={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(forceDnsRegistration, this.Client.SerializationSettings).Trim('"')))); - } - if (ttlInSeconds != null) - { - _queryParameters.Add(string.Format("ttlInSeconds={0}", Uri.EscapeDataString(ttlInSeconds))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -16253,17 +20431,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -16271,7 +20443,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -16279,20 +20451,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -16314,7 +20486,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -16327,27 +20499,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -16365,53 +20519,81 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Deletes a web app + /// Updates the Authentication / Authorization settings associated with web + /// app. /// - /// Deletes a web app + /// + /// Updates the Authentication / Authorization settings associated with web + /// app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Auth settings associated with web app + /// /// /// Name of web app slot. If not specified then will default to production /// slot. /// - /// - /// If true, web app metrics are also deleted - /// - /// - /// If true and App Service Plan is empty after web app deletion, App Service - /// Plan is also deleted - /// - /// - /// If true, DNS registration is skipped - /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateAuthSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (siteAuthSettings == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteAuthSettings"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -16425,59 +20607,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("siteAuthSettings", siteAuthSettings); tracingParameters.Add("slot", slot); - tracingParameters.Add("deleteMetrics", deleteMetrics); - tracingParameters.Add("deleteEmptyServerFarm", deleteEmptyServerFarm); - tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateAuthSettingsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (deleteMetrics != null) - { - _queryParameters.Add(string.Format("deleteMetrics={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(deleteMetrics, this.Client.SerializationSettings).Trim('"')))); - } - if (deleteEmptyServerFarm != null) - { - _queryParameters.Add(string.Format("deleteEmptyServerFarm={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(deleteEmptyServerFarm, this.Client.SerializationSettings).Trim('"')))); - } - if (skipDnsRegistration != null) - { - _queryParameters.Add(string.Format("skipDnsRegistration={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(skipDnsRegistration, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -16493,11 +20661,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(siteAuthSettings != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteAuthSettings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -16505,7 +20679,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -16519,14 +20693,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -16548,7 +20722,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -16561,9 +20735,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -16581,21 +20755,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Analyze a custom hostname + /// Gets the Authentication/Authorization settings of an app. /// - /// Analyze a custom hostname + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Custom hostname + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the settings for the production slot. /// /// /// Headers that will be added to request. @@ -16603,15 +20776,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> AnalyzeCustomHostnameSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetAuthSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -16620,7 +20820,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -16635,48 +20835,43 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("slot", slot); - tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "AnalyzeCustomHostnameSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetAuthSettingsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (hostName != null) - { - _queryParameters.Add(string.Format("hostName={0}", Uri.EscapeDataString(hostName))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -16693,10 +20888,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -16704,7 +20899,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -16718,14 +20913,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -16747,7 +20942,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -16760,9 +20955,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -16780,24 +20975,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Applies the configuration settings from the target slot onto the current - /// slot + /// Updates the backup configuration of an app. /// - /// Applies the configuration settings from the target slot onto the current - /// slot + /// + /// Updates the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name. Settings from that slot - /// will be applied on the source slot + /// + /// Edited backup configuration. /// /// - /// Name of the source slot. Settings from the target slot will be applied - /// onto this slot + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the backup configuration for the production slot. /// /// /// Headers that will be added to request. @@ -16805,28 +20999,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ApplySlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (slotSwapEntity == null) + if (request == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -16840,45 +21065,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slotSwapEntity", slotSwapEntity); + tracingParameters.Add("request", request); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ApplySlotConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateBackupConfigurationSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -16894,17 +21119,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(slotSwapEntity != null) + if(request != null) { - _requestContent = SafeJsonConvert.SerializeObject(slotSwapEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -16912,7 +21137,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -16926,14 +21151,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -16955,7 +21180,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -16968,9 +21193,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -16988,21 +21213,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates web app backup + /// Deletes the backup configuration of an app. /// - /// Creates web app backup + /// + /// Deletes the backup configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Information on backup request + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the backup configuration for the production slot. /// /// /// Headers that will be added to request. @@ -17010,32 +21234,242 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BackupSlotWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (request == null) + if (slot == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (request != null) + if (Client.SubscriptionId == null) { - request.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeleteBackupConfigurationSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Gets the backup configuration of an app. + /// + /// + /// Gets the backup configuration of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the backup configuration for the production slot. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GetBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -17049,45 +21483,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("request", request); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BackupSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetBackupConfigurationSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -17103,17 +21536,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) - { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -17121,7 +21548,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -17135,14 +21562,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -17164,7 +21591,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -17177,9 +21604,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -17197,18 +21624,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Lists all available backups for web app + /// Replaces the connection strings of an app. /// - /// Lists all available backups for web app + /// + /// Replaces the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Connection strings of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the connection settings for the production slot. /// /// /// Headers that will be added to request. @@ -17216,24 +21648,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListBackupsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateConnectionStringsSlotWithHttpMessagesAsync(string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (connectionStrings == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionStrings"); + } + if (connectionStrings != null) + { + connectionStrings.Validate(); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -17247,44 +21714,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("connectionStrings", connectionStrings); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListBackupsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateConnectionStringsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -17300,11 +21768,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionStrings != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionStrings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -17312,7 +21786,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -17326,14 +21800,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -17355,7 +21829,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -17368,9 +21842,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -17388,21 +21862,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Discovers existing web app backups that can be restored + /// Gets the connection strings of an app. /// - /// Discovers existing web app backups that can be restored + /// + /// Gets the connection strings of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Information on restore request + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the connection settings for the production slot. /// /// /// Headers that will be added to request. @@ -17410,32 +21883,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DiscoverRestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListConnectionStringsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (request == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (request != null) + if (name == null) { - request.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -17449,45 +21941,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("request", request); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DiscoverRestoreSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListConnectionStringsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -17503,17 +21994,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) - { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -17521,7 +22006,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -17535,14 +22020,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -17564,7 +22049,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -17577,9 +22062,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -17597,21 +22082,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets status of a web app backup that may be in progress. + /// Gets the logging configuration of an app. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of backup + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the logging configuration for the production slot. /// /// /// Headers that will be added to request. @@ -17619,28 +22103,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetBackupStatusSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetDiagnosticLogsConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (backupId == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -17654,46 +22161,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("backupId", backupId); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetBackupStatusSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetDiagnosticLogsConfigurationSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -17710,10 +22215,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -17721,7 +22226,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -17735,14 +22240,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -17764,7 +22269,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -17777,9 +22282,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -17797,21 +22302,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Deletes a backup from Azure Storage + /// Updates the logging configuration of an app. /// - /// Deletes a backup from Azure Storage + /// + /// Updates the logging configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of backup + /// + /// A SiteLogsConfig JSON object that contains the logging configuration to + /// change in the "properties" property. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the logging configuration for the production slot. /// /// /// Headers that will be added to request. @@ -17819,28 +22327,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteBackupSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateDiagnosticLogsConfigSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (backupId == null) + if (siteLogsConfig == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + throw new ValidationException(ValidationRules.CannotBeNull, "siteLogsConfig"); + } + if (siteLogsConfig != null) + { + siteLogsConfig.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -17854,46 +22393,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("backupId", backupId); + tracingParameters.Add("siteLogsConfig", siteLogsConfig); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteBackupSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateDiagnosticLogsConfigSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -17909,11 +22447,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(siteLogsConfig != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteLogsConfig, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -17921,7 +22465,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -17935,14 +22479,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -17964,7 +22508,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -17977,9 +22521,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -17997,30 +22541,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// Replaces the metadata of an app. /// - /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// + /// Replaces the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of backup - /// - /// - /// Information on backup request + /// + /// Edited metadata of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the metadata for the production slot. /// /// /// Headers that will be added to request. @@ -18028,36 +22565,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListBackupStatusSecretsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateMetadataSlotWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary metadata, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (backupId == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (request == null) + if (metadata == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + throw new ValidationException(ValidationRules.CannotBeNull, "metadata"); } - if (request != null) + if (metadata != null) { - request.Validate(); + metadata.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -18071,47 +22631,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("backupId", backupId); - tracingParameters.Add("request", request); + tracingParameters.Add("metadata", metadata); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListBackupStatusSecretsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateMetadataSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -18127,17 +22685,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) + if(metadata != null) { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(metadata, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -18145,7 +22703,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -18159,14 +22717,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -18188,7 +22746,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -18201,9 +22759,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -18221,58 +22779,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Restores a web app - /// - /// Restores a web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> RestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginRestoreSlotWithHttpMessagesAsync( - resourceGroupName, name, backupId, request, slot, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Restores a web app + /// Gets the metadata of an app. /// - /// Restores a web app + /// + /// Gets the metadata of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the metadata for the production slot. /// /// /// Headers that will be added to request. @@ -18280,36 +22800,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginRestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListMetadataSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (backupId == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); - } - if (request == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (request != null) + if (name == null) { - request.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -18323,47 +22858,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("backupId", backupId); - tracingParameters.Add("request", request); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginRestoreSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetadataSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{backupId}", Uri.EscapeDataString(backupId)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -18379,17 +22911,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) - { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -18397,7 +22923,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -18411,14 +22937,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -18440,7 +22966,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -18453,9 +22979,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -18473,17 +22999,48 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the application settings of web app + /// Gets the Git/FTP publishing credentials of an app. + /// + /// + /// Gets the Git/FTP publishing credentials of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing credentials for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> ListPublishingCredentialsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginListPublishingCredentialsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Updates the Push settings associated with web app. /// - /// Updates the application settings of web app + /// + /// Updates the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Application settings of web app + /// + /// Push settings associated with web app /// /// /// Name of web app slot. If not specified then will default to production @@ -18495,32 +23052,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateApplicationSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary appSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateSitePushSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, PushSettings pushSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (appSettings == null) + if (pushSettings == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "appSettings"); + throw new ValidationException(ValidationRules.CannotBeNull, "pushSettings"); } - if (appSettings != null) + if (pushSettings != null) { - appSettings.Validate(); + pushSettings.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -18534,45 +23118,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("appSettings", appSettings); + tracingParameters.Add("pushSettings", pushSettings); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateApplicationSettingsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateSitePushSettingsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -18588,17 +23172,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(appSettings != null) + if(pushSettings != null) { - _requestContent = SafeJsonConvert.SerializeObject(appSettings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(pushSettings, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -18606,7 +23190,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -18620,14 +23204,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -18649,7 +23233,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -18662,9 +23246,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -18682,11 +23266,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the application settings of web app + /// Gets the Push settings associated with web app. /// - /// Gets the application settings of web app + /// + /// Gets the Push settings associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -18701,15 +23287,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListApplicationSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListSitePushSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -18718,7 +23331,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -18735,41 +23348,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListApplicationSettingsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSitePushSettingsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -18786,10 +23399,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -18797,7 +23410,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -18811,14 +23424,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -18840,7 +23453,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -18853,9 +23466,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -18873,21 +23486,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Authentication / Authorization settings associated with web app + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. /// - /// Updates the Authentication / Authorization settings associated with web app + /// + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Auth settings associated with web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// /// /// Headers that will be added to request. @@ -18895,28 +23509,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateAuthSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (siteAuthSettings == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteAuthSettings"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -18930,45 +23567,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteAuthSettings", siteAuthSettings); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateAuthSettingsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetConfigurationSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -18984,17 +23620,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteAuthSettings != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteAuthSettings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -19002,7 +23632,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -19016,14 +23646,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -19045,7 +23675,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -19058,9 +23688,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -19078,18 +23708,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the Authentication / Authorization settings associated with web app + /// Updates the configuration of an app. /// - /// Gets the Authentication / Authorization settings associated with web app + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update configuration for the production slot. /// /// /// Headers that will be added to request. @@ -19097,24 +23732,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListAuthSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (siteConfig == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); + } + if (siteConfig != null) + { + siteConfig.Validate(); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -19128,44 +23798,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("siteConfig", siteConfig); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListAuthSettingsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateConfigurationSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -19181,11 +23852,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(siteConfig != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteConfig, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -19193,7 +23870,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -19207,14 +23884,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -19236,7 +23913,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -19249,9 +23926,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -19269,21 +23946,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates backup configuration of web app + /// Updates the configuration of an app. /// - /// Updates backup configuration of web app + /// + /// Updates the configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Information on backup request + /// + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update configuration for the production slot. /// /// /// Headers that will be added to request. @@ -19291,32 +23970,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, BackupRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (request == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (request != null) + if (siteConfig == null) { - request.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -19330,45 +24032,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("request", request); + tracingParameters.Add("siteConfig", siteConfig); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateBackupConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateConfigurationSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -19384,17 +24086,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(request != null) + if(siteConfig != null) { - _requestContent = SafeJsonConvert.SerializeObject(request, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteConfig, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -19402,7 +24104,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -19416,14 +24118,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -19445,7 +24147,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -19458,9 +24160,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -19478,18 +24180,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes the backup configuration for a web app + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. /// - /// Removes the backup configuration for a web app + /// + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// /// /// Headers that will be added to request. @@ -19497,15 +24203,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListConfigurationSnapshotInfoSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -19514,7 +24247,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -19531,41 +24264,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteBackupConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListConfigurationSnapshotInfoSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -19582,10 +24315,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -19593,7 +24326,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -19607,14 +24340,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -19636,7 +24369,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -19649,9 +24382,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -19669,18 +24402,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the backup configuration for a web app + /// Gets a snapshot of the configuration of an app at a previous point in time. /// - /// Gets the backup configuration for a web app + /// + /// Gets a snapshot of the configuration of an app at a previous point in time. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// The ID of the snapshot to read. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// /// /// Headers that will be added to request. @@ -19688,24 +24426,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetBackupConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetConfigurationSnapshotSlotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (snapshotId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "snapshotId"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -19719,44 +24488,272 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("snapshotId", snapshotId); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetBackupConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetConfigurationSnapshotSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{snapshotId}", System.Uri.EscapeDataString(snapshotId)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex = new CloudException(_errorBody.Message); + ex.Body = _errorBody; + } + } + catch (Newtonsoft.Json.JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Reverts the configuration of an app to a previous snapshot. + /// + /// + /// Reverts the configuration of an app to a previous snapshot. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// The ID of the snapshot to read. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task RecoverSiteConfigurationSnapshotSlotWithHttpMessagesAsync(string resourceGroupName, string name, string snapshotId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (snapshotId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "snapshotId"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("snapshotId", snapshotId); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "RecoverSiteConfigurationSnapshotSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{snapshotId}", System.Uri.EscapeDataString(snapshotId)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -19773,10 +24770,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -19784,7 +24781,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -19792,22 +24789,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -19827,31 +24816,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -19860,21 +24831,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the connection strings associated with web app + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Updates the connection strings associated with web app + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Connection strings associated with web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API returns + /// deployments for the production slot. /// /// /// Headers that will be added to request. @@ -19882,32 +24854,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateConnectionStringsSlotWithHttpMessagesAsync(string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDeploymentsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (connectionStrings == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionStrings"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionStrings != null) + if (name == null) { - connectionStrings.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -19921,45 +24912,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("connectionStrings", connectionStrings); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateConnectionStringsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDeploymentsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -19975,17 +24965,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionStrings != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionStrings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -19993,7 +24977,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -20007,14 +24991,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -20036,7 +25020,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -20049,9 +25033,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -20069,18 +25053,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the connection strings associated with web app + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Gets the connection strings associated with web app + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API gets a + /// deployment for the production slot. /// /// /// Headers that will be added to request. @@ -20088,24 +25079,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListConnectionStringsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (id == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "id"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -20119,44 +25141,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListConnectionStringsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetDeploymentSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -20173,10 +25197,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -20184,7 +25208,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -20198,14 +25222,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -20227,7 +25251,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -20240,9 +25264,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -20260,18 +25284,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web app logs configuration + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Gets the web app logs configuration + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// ID of an existing deployment. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API creates a + /// deployment for the production slot. + /// + /// + /// Deployment details. /// /// /// Headers that will be added to request. @@ -20279,24 +25313,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetDiagnosticLogsConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (id == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "id"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (deployment == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "deployment"); + } + if (deployment != null) + { + deployment.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -20310,44 +25383,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); + tracingParameters.Add("deployment", deployment); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetDiagnosticLogsConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateDeploymentSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -20363,11 +25439,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(deployment != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(deployment, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -20375,7 +25457,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -20389,14 +25471,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -20418,7 +25500,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -20431,9 +25513,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -20451,21 +25533,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the meta data for web app + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Updates the meta data for web app + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Site logs configuration + /// + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API deletes a + /// deployment for the production slot. /// /// /// Headers that will be added to request. @@ -20473,32 +25559,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateDiagnosticLogsConfigSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (siteLogsConfig == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteLogsConfig"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteLogsConfig != null) + if (id == null) { - siteLogsConfig.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "id"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -20512,45 +25618,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteLogsConfig", siteLogsConfig); + tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateDiagnosticLogsConfigSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteDeploymentSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -20566,17 +25673,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteLogsConfig != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteLogsConfig, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -20584,7 +25685,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -20592,22 +25693,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -20627,31 +25720,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -20660,21 +25735,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the meta data for web app + /// Lists ownership identifiers for domain associated with web app. /// - /// Updates the meta data for web app + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Meta data of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// Headers that will be added to request. @@ -20682,32 +25756,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateMetadataSlotWithHttpMessagesAsync(string resourceGroupName, string name, StringDictionary metadata, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDomainOwnershipIdentifiersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (metadata == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "metadata"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (metadata != null) + if (name == null) { - metadata.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -20721,45 +25814,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("metadata", metadata); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateMetadataSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDomainOwnershipIdentifiersSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -20775,17 +25867,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(metadata != null) - { - _requestContent = SafeJsonConvert.SerializeObject(metadata, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -20793,7 +25879,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -20807,14 +25893,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -20836,7 +25922,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -20849,9 +25935,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -20869,18 +25955,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web app meta data. + /// Get domain ownership identifier for web app. /// - /// Gets the web app meta data. + /// + /// Get domain ownership identifier for web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// Headers that will be added to request. @@ -20888,24 +25979,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListMetadataSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (domainOwnershipIdentifierName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -20919,44 +26041,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetadataSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetDomainOwnershipIdentifierSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -20973,10 +26097,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -20984,7 +26108,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -20998,14 +26122,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -21027,7 +26151,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -21040,9 +26164,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -21060,46 +26184,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web app publishing credentials + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Gets the web app publishing credentials + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// Name of domain ownership identifier. /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> ListPublishingCredentialsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginListPublishingCredentialsSlotWithHttpMessagesAsync( - resourceGroupName, name, slot, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Gets the web app publishing credentials - /// - /// Gets the web app publishing credentials - /// - /// Name of resource group - /// - /// - /// Name of web app + /// + /// A JSON representation of the domain ownership properties. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// Headers that will be added to request. @@ -21107,24 +26213,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginListPublishingCredentialsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (domainOwnershipIdentifierName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); + } + if (domainOwnershipIdentifier == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifier"); + } + if (domainOwnershipIdentifier != null) + { + domainOwnershipIdentifier.Validate(); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -21138,44 +26283,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); + tracingParameters.Add("domainOwnershipIdentifier", domainOwnershipIdentifier); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginListPublishingCredentialsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateDomainOwnershipIdentifierSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -21191,11 +26339,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(domainOwnershipIdentifier != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(domainOwnershipIdentifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -21203,7 +26357,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -21217,14 +26371,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -21246,7 +26400,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -21259,9 +26413,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -21279,21 +26433,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Push settings associated with web app + /// Deletes a domain ownership identifier for a web app. /// - /// Updates the Push settings associated with web app + /// + /// Deletes a domain ownership identifier for a web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Push settings associated with web app + /// + /// Name of domain ownership identifier. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// Headers that will be added to request. @@ -21301,28 +26457,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateSitePushSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, PushSettings pushSettings, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (pushSettings == null) + if (domainOwnershipIdentifierName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "pushSettings"); + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -21336,45 +26516,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("pushSettings", pushSettings); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateSitePushSettingsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteDomainOwnershipIdentifierSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -21390,17 +26571,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(pushSettings != null) - { - _requestContent = SafeJsonConvert.SerializeObject(pushSettings, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -21408,7 +26583,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -21416,22 +26591,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -21451,31 +26618,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -21484,18 +26633,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the Push settings associated with web app + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Gets the Push settings associated with web app + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of domain ownership identifier. + /// + /// + /// A JSON representation of the domain ownership properties. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// Headers that will be added to request. @@ -21503,24 +26662,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListSitePushSettingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (domainOwnershipIdentifierName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifierName"); + } + if (domainOwnershipIdentifier == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "domainOwnershipIdentifier"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -21534,44 +26728,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("domainOwnershipIdentifierName", domainOwnershipIdentifierName); + tracingParameters.Add("domainOwnershipIdentifier", domainOwnershipIdentifier); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSitePushSettingsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateDomainOwnershipIdentifierSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{domainOwnershipIdentifierName}", System.Uri.EscapeDataString(domainOwnershipIdentifierName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -21587,11 +26784,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(domainOwnershipIdentifier != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(domainOwnershipIdentifier, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -21599,7 +26802,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -21613,14 +26816,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -21642,7 +26845,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -21655,9 +26858,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -21675,18 +26878,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the configuration of the web app + /// Get hostname bindings for an app or a deployment slot. /// - /// Gets the configuration of the web app + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API gets + /// hostname bindings for the production slot. /// /// /// Headers that will be added to request. @@ -21694,15 +26899,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListHostNameBindingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -21711,7 +26943,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -21728,41 +26960,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHostNameBindingsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -21779,10 +27011,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -21790,7 +27022,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -21804,14 +27036,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -21833,7 +27065,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -21846,9 +27078,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -21866,21 +27098,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the configuration of web app + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). /// - /// Update the configuration of web app + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the configuraiton setting for the web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API the named + /// binding for the production slot. + /// + /// + /// Hostname in the hostname binding. /// /// /// Headers that will be added to request. @@ -21888,32 +27124,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (siteConfig == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (siteConfig != null) + if (name == null) { - siteConfig.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (hostName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -21927,45 +27186,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteConfig", siteConfig); tracingParameters.Add("slot", slot); + tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetHostNameBindingSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{hostName}", System.Uri.EscapeDataString(hostName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -21981,17 +27241,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteConfig != null) - { - _requestContent = SafeJsonConvert.SerializeObject(siteConfig, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -21999,7 +27253,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -22013,14 +27267,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -22042,7 +27296,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -22055,9 +27309,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -22075,21 +27329,27 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the configuration of web app + /// Creates a hostname binding for an app. /// - /// Update the configuration of web app + /// + /// Creates a hostname binding for an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the configuraiton setting for the web app + /// + /// Hostname in the hostname binding. + /// + /// + /// Binding details. This is the JSON representation of a HostNameBinding + /// object. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// create a binding for the production slot. /// /// /// Headers that will be added to request. @@ -22097,28 +27357,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteConfig siteConfig, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteConfig == null) + if (hostName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteConfig"); + throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); + } + if (hostNameBinding == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "hostNameBinding"); + } + if (hostNameBinding != null) + { + hostNameBinding.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -22132,45 +27427,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteConfig", siteConfig); + tracingParameters.Add("hostName", hostName); + tracingParameters.Add("hostNameBinding", hostNameBinding); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateConfigurationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHostNameBindingSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{hostName}", System.Uri.EscapeDataString(hostName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -22186,17 +27483,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteConfig != null) + if(hostNameBinding != null) { - _requestContent = SafeJsonConvert.SerializeObject(siteConfig, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(hostNameBinding, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -22204,7 +27501,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -22218,14 +27515,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -22247,7 +27544,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -22260,9 +27557,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -22280,18 +27577,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// Deletes a hostname binding for an app. /// - /// List deployments + /// + /// Deletes a hostname binding for an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. + /// + /// + /// Hostname in the hostname binding. /// /// /// Headers that will be added to request. @@ -22299,15 +27601,39 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListDeploymentsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -22316,7 +27642,11 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (hostName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -22331,43 +27661,45 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("slot", slot); + tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListDeploymentsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteHostNameBindingSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{hostName}", System.Uri.EscapeDataString(hostName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -22384,10 +27716,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -22395,7 +27727,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -22403,22 +27735,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -22438,31 +27762,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -22471,21 +27777,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the deployment + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. /// - /// Get the deployment + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// Id of the deployment + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// The name of the slot for the web app. /// /// /// Headers that will be added to request. @@ -22493,28 +27803,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (id == null) + if (namespaceName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -22528,46 +27869,48 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetDeploymentSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -22584,10 +27927,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -22595,7 +27938,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -22609,14 +27952,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -22638,7 +27981,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -22651,9 +27994,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -22671,24 +28014,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Create a deployment + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Create a deployment + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// Id of the deployment + /// + /// The namespace for this hybrid connection /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// The relay name for this hybrid connection /// - /// - /// Details of deployment + /// + /// The details of the hybrid connection + /// + /// + /// The name of the slot for the web app. /// /// /// Headers that will be added to request. @@ -22696,36 +28043,67 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (id == null) + if (namespaceName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); } - if (slot == null) + if (relayName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } - if (deployment == null) + if (connectionEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "deployment"); + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); } - if (deployment != null) + if (connectionEnvelope != null) { - deployment.Validate(); + connectionEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -22739,47 +28117,49 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); - tracingParameters.Add("deployment", deployment); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateDeploymentSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHybridConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -22795,17 +28175,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(deployment != null) + if(connectionEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(deployment, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -22813,7 +28193,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -22827,14 +28207,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -22856,7 +28236,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -22869,9 +28249,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -22889,21 +28269,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Delete the deployment + /// Removes a Hybrid Connection from this site. /// - /// Delete the deployment + /// + /// Removes a Hybrid Connection from this site. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// Id of the deployment + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// The name of the slot for the web app. /// /// /// Headers that will be added to request. @@ -22911,28 +28295,56 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (id == null) + if (namespaceName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -22946,46 +28358,267 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteDeploymentSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteHybridConnectionSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 404) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection + /// + /// + /// The name of the slot for the web app. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> UpdateHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (namespaceName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "UpdateHybridConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -23001,11 +28634,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -23013,7 +28652,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -23027,14 +28666,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -23056,7 +28695,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -23069,9 +28708,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -23089,18 +28728,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get web app hostname bindings + /// Gets the send key name and value for a Hybrid Connection. /// - /// Get web app hostname bindings + /// + /// Gets the send key name and value for a Hybrid Connection. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// The name of the slot for the web app. /// /// /// Headers that will be added to request. @@ -23108,24 +28754,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListHostNameBindingsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListHybridConnectionKeysSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (namespaceName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + } + if (relayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -23139,44 +28820,48 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("namespaceName", namespaceName); + tracingParameters.Add("relayName", relayName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHostNameBindingsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionKeysSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{namespaceName}", System.Uri.EscapeDataString(namespaceName)); + _url = _url.Replace("{relayName}", System.Uri.EscapeDataString(relayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -23193,10 +28878,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -23204,7 +28889,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -23218,14 +28903,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -23247,7 +28932,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -23260,9 +28945,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -23280,21 +28965,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get web app binding for a hostname + /// Retrieves all Service Bus Hybrid Connections used by this Web App. /// - /// Get web app binding for a hostname + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Name of host + /// The name of the slot for the web app. /// /// /// Headers that will be added to request. @@ -23302,15 +28985,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListHybridConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -23319,11 +29029,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (hostName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -23338,45 +29044,43 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("slot", slot); - tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetHostNameBindingSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{hostName}", Uri.EscapeDataString(hostName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -23393,10 +29097,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -23404,7 +29108,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -23418,14 +29122,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -23447,7 +29151,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -23460,9 +29164,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -23480,24 +29184,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a web app hostname binding + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). /// - /// Creates a web app hostname binding + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of host - /// - /// - /// Host name binding information + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// hybrid connections for the production slot. /// /// /// Headers that will be added to request. @@ -23505,36 +29207,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListRelayServiceConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (hostName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); - } - if (hostNameBinding == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "hostNameBinding"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (hostNameBinding != null) + if (name == null) { - hostNameBinding.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -23548,47 +29265,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("hostName", hostName); - tracingParameters.Add("hostNameBinding", hostNameBinding); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHostNameBindingSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListRelayServiceConnectionsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{hostName}", Uri.EscapeDataString(hostName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -23604,17 +29318,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(hostNameBinding != null) - { - _requestContent = SafeJsonConvert.SerializeObject(hostNameBinding, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -23622,7 +29330,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -23636,14 +29344,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -23665,7 +29373,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -23678,9 +29386,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -23698,21 +29406,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Deletes a host name binding + /// Gets a hybrid connection configuration by its name. /// - /// Deletes a host name binding + /// + /// Gets a hybrid connection configuration by its name. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// Name of the hybrid connection. /// - /// - /// Name of host + /// + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// hybrid connection for the production slot. /// /// /// Headers that will be added to request. @@ -23720,28 +29430,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteHostNameBindingSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string hostName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (slot == null) + if (entityName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); } - if (hostName == null) + if (slot == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "hostName"); + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -23755,46 +29492,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("entityName", entityName); tracingParameters.Add("slot", slot); - tracingParameters.Add("hostName", hostName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteHostNameBindingSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetRelayServiceConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{hostName}", Uri.EscapeDataString(hostName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -23811,10 +29548,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -23822,7 +29559,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -23836,14 +29573,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -23865,7 +29602,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -23878,9 +29615,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -23898,23 +29635,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection + /// + /// Name of the hybrid connection configuration. /// - /// - /// The relay name for this hybrid connection + /// + /// Details of the hybrid connection configuration. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// create or update a hybrid connection for the production slot. /// /// /// Headers that will be added to request. @@ -23922,32 +29664,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (namespaceName == null) + if (entityName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); } - if (relayName == null) + if (connectionEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (connectionEnvelope != null) + { + connectionEnvelope.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -23961,48 +29734,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); + tracingParameters.Add("entityName", entityName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetHybridConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateRelayServiceConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -24018,11 +29790,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -24030,7 +29808,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -24044,14 +29822,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -24073,7 +29851,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -24086,9 +29864,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -24106,26 +29884,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Deletes a relay service connection by its name. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Deletes a relay service connection by its name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection - /// - /// - /// The details of the hybrid connection + /// + /// Name of the hybrid connection configuration. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete a hybrid connection for the production slot. /// /// /// Headers that will be added to request. @@ -24133,40 +29908,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (namespaceName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); - } - if (relayName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionEnvelope == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (connectionEnvelope != null) + if (entityName == null) { - connectionEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -24180,49 +29967,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); + tracingParameters.Add("entityName", entityName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateHybridConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteRelayServiceConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -24238,17 +30022,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -24256,7 +30034,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -24264,22 +30042,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -24299,31 +30069,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -24332,23 +30084,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes a Hybrid Connection from this site. + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). /// - /// Removes a Hybrid Connection from this site. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection + /// + /// Name of the hybrid connection configuration. /// - /// - /// The relay name for this hybrid connection + /// + /// Details of the hybrid connection configuration. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// create or update a hybrid connection for the production slot. /// /// /// Headers that will be added to request. @@ -24356,32 +30113,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (namespaceName == null) + if (entityName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); } - if (relayName == null) + if (connectionEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -24395,48 +30179,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); + tracingParameters.Add("entityName", entityName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteHybridConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateRelayServiceConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{entityName}", System.Uri.EscapeDataString(entityName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -24452,11 +30235,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -24464,7 +30253,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -24478,14 +30267,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -24507,7 +30296,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -24520,9 +30309,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -24540,26 +30329,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Gets all scale-out instances of an app. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Gets all scale-out instances of an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection - /// - /// - /// The details of the hybrid connection + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API gets the + /// production slot instances. /// /// /// Headers that will be added to request. @@ -24567,36 +30350,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateHybridConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListInstanceIdentifiersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (namespaceName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); - } - if (relayName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionEnvelope == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -24610,49 +30408,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateHybridConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListInstanceIdentifiersSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -24668,17 +30461,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -24686,7 +30473,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -24700,14 +30487,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -24729,7 +30516,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -24742,9 +30529,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -24762,23 +30549,26 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the send key name and value for a Hybrid Connection + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API returns + /// deployments for the production slot. + /// + /// + /// The ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// Headers that will be added to request. @@ -24786,32 +30576,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListHybridConnectionKeysSlotWithHttpMessagesAsync(string resourceGroupName, string name, string namespaceName, string relayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListInstanceDeploymentsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (namespaceName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "namespaceName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (relayName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "relayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (instanceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -24825,48 +30638,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("namespaceName", namespaceName); - tracingParameters.Add("relayName", relayName); tracingParameters.Add("slot", slot); + tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionKeysSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListInstanceDeploymentsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{namespaceName}", Uri.EscapeDataString(namespaceName)); - _url = _url.Replace("{relayName}", Uri.EscapeDataString(relayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -24883,10 +30694,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -24894,7 +30705,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -24908,14 +30719,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -24937,7 +30748,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -24950,9 +30761,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -24970,17 +30781,29 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Deployment ID. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API gets a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// Headers that will be added to request. @@ -24988,24 +30811,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListHybridConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (id == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "id"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (instanceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -25019,44 +30877,48 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); + tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHybridConnectionsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetInstanceDeploymentSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -25073,10 +30935,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -25084,7 +30946,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -25098,14 +30960,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -25127,7 +30989,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -25140,9 +31002,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -25160,17 +31022,32 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// ID of an existing deployment. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API creates a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// Deployment details. /// /// /// Headers that will be added to request. @@ -25178,24 +31055,67 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListRelayServiceConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (id == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "id"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (instanceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + } + if (deployment == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "deployment"); + } + if (deployment != null) + { + deployment.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -25209,44 +31129,49 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); + tracingParameters.Add("instanceId", instanceId); + tracingParameters.Add("deployment", deployment); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListRelayServiceConnectionsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateInstanceDeploymentSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -25262,11 +31187,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(deployment != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(deployment, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -25274,7 +31205,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -25288,14 +31219,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -25317,7 +31248,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -25330,9 +31261,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -25350,20 +31281,29 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// Deployment ID. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API deletes a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// Headers that will be added to request. @@ -25371,28 +31311,56 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (entityName == null) + if (id == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + throw new ValidationException(ValidationRules.CannotBeNull, "id"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (instanceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -25406,46 +31374,48 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); + tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); + tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetRelayServiceConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteInstanceDeploymentSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{id}", System.Uri.EscapeDataString(id)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{instanceId}", System.Uri.EscapeDataString(instanceId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -25462,10 +31432,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -25473,7 +31443,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -25481,22 +31451,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -25516,31 +31478,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -25549,25 +31493,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Shows whether an app can be cloned to another resource group or + /// subscription. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name by which the Hybrid Connection is identified - /// - /// - /// The details of the Hybrid Connection + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. By default, this API returns information on + /// the production slot. /// /// /// Headers that will be added to request. @@ -25575,36 +31516,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> IsCloneableSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (entityName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); - } - if (connectionEnvelope == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionEnvelope != null) + if (name == null) { - connectionEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -25618,47 +31574,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateRelayServiceConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "IsCloneableSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -25674,17 +31627,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -25692,7 +31639,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -25706,14 +31653,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -25735,7 +31682,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -25748,9 +31695,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -25768,22 +31715,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name by which the Hybrid Connection is identified + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// metric definitions of the production slot. /// /// /// Headers that will be added to request. @@ -25791,28 +31736,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricDefinitionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (entityName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -25826,46 +31794,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteRelayServiceConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitionsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -25882,10 +31848,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -25893,7 +31859,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -25907,14 +31873,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -25936,7 +31902,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -25949,9 +31915,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -25969,25 +31935,30 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// metrics of the production slot. /// - /// - /// The details of the Hybrid Connection + /// + /// Specify "true" to include metric details in the response. It is "false" by + /// default. /// - /// - /// The name of the slot for the web app. + /// + /// Return only metrics specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -25995,32 +31966,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateRelayServiceConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (entityName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "entityName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionEnvelope == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -26034,47 +32024,54 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("entityName", entityName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); + tracingParameters.Add("details", details); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateRelayServiceConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{entityName}", Uri.EscapeDataString(entityName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (details != null) + { + _queryParameters.Add(string.Format("details={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(details, Client.SerializationSettings).Trim('"')))); + } + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -26090,17 +32087,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -26108,7 +32099,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -26122,14 +32113,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -26151,7 +32142,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -26164,9 +32155,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -26184,18 +32175,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets all instance of a web app + /// Gets all network features used by the app (or deployment slot, if + /// specified). /// - /// Gets all instance of a web app + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// The type of view. This can either be "summary" or "detailed". /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// network features for the production slot. /// /// /// Headers that will be added to request. @@ -26203,24 +32201,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListInstanceIdentifiersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListNetworkFeaturesSlotWithHttpMessagesAsync(string resourceGroupName, string name, string view, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (view == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "view"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -26234,44 +32263,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("view", view); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListInstanceIdentifiersSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListNetworkFeaturesSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{view}", System.Uri.EscapeDataString(view)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -26288,10 +32319,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -26299,7 +32330,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -26307,20 +32338,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -26342,7 +32373,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -26355,9 +32386,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -26375,21 +32406,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// Start capturing network packets for the site. /// - /// List deployments + /// + /// Start capturing network packets for the site. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// The name of the slot for this web app. /// - /// - /// Id of web app instance + /// + /// The duration to keep capturing in seconds /// /// /// Headers that will be added to request. @@ -26397,15 +32429,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListInstanceDeploymentsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> StartWebSiteNetworkTraceSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -26414,11 +32473,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (instanceId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -26432,46 +32487,49 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("durationInSeconds", durationInSeconds); tracingParameters.Add("slot", slot); - tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListInstanceDeploymentsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "StartWebSiteNetworkTraceSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (durationInSeconds != null) + { + _queryParameters.Add(string.Format("durationInSeconds={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(durationInSeconds, Client.SerializationSettings).Trim('"')))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -26488,10 +32546,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -26499,7 +32557,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -26513,14 +32571,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -26542,7 +32600,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -26555,9 +32613,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -26575,24 +32633,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the deployment + /// Stop ongoing capturing network packets for the site. /// - /// Get the deployment + /// + /// Stop ongoing capturing network packets for the site. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// The name of the web app /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Id of web app instance + /// The name of the slot for this web app. /// /// /// Headers that will be added to request. @@ -26600,32 +32653,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> StopWebSiteNetworkTraceSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (id == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (instanceId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -26639,48 +32711,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); - tracingParameters.Add("instanceId", instanceId); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetInstanceDeploymentSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "StopWebSiteNetworkTraceSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -26697,10 +32765,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -26708,7 +32776,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -26722,14 +32790,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -26751,7 +32819,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -26764,9 +32832,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -26784,27 +32852,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Create a deployment + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). /// - /// Create a deployment + /// + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Id of web app instance - /// - /// - /// Details of deployment + /// Name of the deployment slot. If a slot is not specified, the API generate a + /// new publishing password for the production slot. /// /// /// Headers that will be added to request. @@ -26812,40 +32875,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Deployment deployment, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task GenerateNewSitePublishingPasswordSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (id == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (instanceId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); - } - if (deployment == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "deployment"); - } - if (deployment != null) - { - deployment.Validate(); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -26859,49 +32930,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); - tracingParameters.Add("instanceId", instanceId); - tracingParameters.Add("deployment", deployment); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateInstanceDeploymentSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GenerateNewSitePublishingPasswordSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -26917,17 +32983,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(deployment != null) - { - _requestContent = SafeJsonConvert.SerializeObject(deployment, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -26935,7 +32995,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -26943,22 +33003,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -26978,31 +33030,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -27011,24 +33045,26 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Delete the deployment + /// Gets perfmon counters for web app. /// - /// Delete the deployment + /// + /// Gets perfmon counters for web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Id of the deployment - /// /// /// Name of web app slot. If not specified then will default to production - /// slot. + /// slot. **** CURRENTLY UNUSED ***** /// - /// - /// Id of web app instance + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and + /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -27036,32 +33072,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteInstanceDeploymentSlotWithHttpMessagesAsync(string resourceGroupName, string name, string id, string slot, string instanceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListPerfMonCountersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (id == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "id"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (instanceId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "instanceId"); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -27075,48 +33130,49 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("id", id); tracingParameters.Add("slot", slot); - tracingParameters.Add("instanceId", instanceId); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteInstanceDeploymentSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPerfMonCountersSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{id}", Uri.EscapeDataString(id)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{instanceId}", Uri.EscapeDataString(instanceId)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -27133,10 +33189,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -27144,7 +33200,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -27158,14 +33214,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -27187,7 +33243,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -27200,9 +33256,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -27220,14 +33276,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Creates a new web app or modifies an existing web app. + /// Gets web app's event logs. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Gets web app's event logs. + /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of web app /// /// /// Name of web app slot. If not specified then will default to production @@ -27239,15 +33297,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> IsCloneableSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetSitePhpErrorLogFlagSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -27256,7 +33341,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -27273,41 +33358,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "IsCloneableSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetSitePhpErrorLogFlagSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -27324,10 +33409,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -27335,7 +33420,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -27349,14 +33434,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -27378,7 +33463,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -27391,9 +33476,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -27411,18 +33496,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets metric definitions for web app + /// Gets the premier add-ons of an app. /// - /// Gets metric definitions for web app + /// + /// Gets the premier add-ons of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the premier add-ons for the production slot. /// /// /// Headers that will be added to request. @@ -27430,15 +33517,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricDefinitionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListPremierAddOnsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -27447,7 +33561,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -27464,41 +33578,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitionsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPremierAddOnsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -27515,10 +33629,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -27526,7 +33640,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -27540,14 +33654,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -27569,7 +33683,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -27582,9 +33696,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -27602,27 +33716,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets metrics for web app + /// Gets a named add-on of an app. /// - /// Gets metrics for web app + /// + /// Gets a named add-on of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the app. /// - /// - /// If true, metric details are included in response + /// + /// Add-on name. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the named add-on for the production slot. /// /// /// Headers that will be added to request. @@ -27630,24 +33740,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? details = default(bool?), string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (premierAddOnName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -27661,54 +33802,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("premierAddOnName", premierAddOnName); tracingParameters.Add("slot", slot); - tracingParameters.Add("details", details); - tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetPremierAddOnSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{premierAddOnName}", System.Uri.EscapeDataString(premierAddOnName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (details != null) - { - _queryParameters.Add(string.Format("details={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(details, this.Client.SerializationSettings).Trim('"')))); - } - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -27725,10 +33858,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -27736,7 +33869,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -27750,14 +33883,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -27779,7 +33912,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -27792,9 +33925,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -27812,20 +33945,26 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a view of all network features in use on this web app. + /// Updates a named add-on of an app. /// - /// Retrieves a view of all network features in use on this web app. + /// + /// Updates a named add-on of an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The type of view. This can either be "summary" or "detailed". + /// + /// Add-on name. + /// + /// + /// A JSON representation of the edited premier add-on. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the named add-on for the production slot. /// /// /// Headers that will be added to request. @@ -27833,28 +33972,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListNetworkFeaturesSlotWithHttpMessagesAsync(string resourceGroupName, string name, string view, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> AddPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (view == null) + if (premierAddOnName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "view"); + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + } + if (premierAddOn == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOn"); + } + if (premierAddOn != null) + { + premierAddOn.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -27868,46 +34042,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("view", view); + tracingParameters.Add("premierAddOnName", premierAddOnName); + tracingParameters.Add("premierAddOn", premierAddOn); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListNetworkFeaturesSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "AddPremierAddOnSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{view}", Uri.EscapeDataString(view)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{premierAddOnName}", System.Uri.EscapeDataString(premierAddOnName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -27923,11 +34098,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(premierAddOn != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(premierAddOn, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -27935,7 +34116,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -27943,20 +34124,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 404) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -27978,7 +34159,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -27991,9 +34172,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -28011,20 +34192,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Start capturing network packets for the site + /// Delete a premier add-on from an app. /// - /// Start capturing network packets for the site + /// + /// Delete a premier add-on from an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the slot for this web app. + /// + /// Add-on name. /// - /// - /// The duration to keep capturing in seconds + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the named add-on for the production slot. /// /// /// Headers that will be added to request. @@ -28032,24 +34216,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> StartWebSiteNetworkTraceSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeletePremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (premierAddOnName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -28063,49 +34275,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("durationInSeconds", durationInSeconds); + tracingParameters.Add("premierAddOnName", premierAddOnName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "StartWebSiteNetworkTraceSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeletePremierAddOnSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{premierAddOnName}", System.Uri.EscapeDataString(premierAddOnName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (durationInSeconds != null) - { - _queryParameters.Add(string.Format("durationInSeconds={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(durationInSeconds, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -28122,10 +34331,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -28133,7 +34342,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -28144,19 +34353,11 @@ internal WebAppsOperations(WebSiteManagementClient client) if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -28176,31 +34377,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -28209,17 +34392,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Stop ongoing capturing network packets for the site + /// Gets the publishing profile for an app (or deployment slot, if specified). /// - /// Stop ongoing capturing network packets for the site + /// + /// Gets the publishing profile for an app (or deployment slot, if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Specifies publishingProfileOptions for publishing profile. For example, use + /// {"format": "FileZilla3"} to get a FileZilla publishing profile. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing profile for the production slot. /// /// /// Headers that will be added to request. @@ -28227,24 +34417,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> StopWebSiteNetworkTraceSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListPublishingProfileXmlWithSecretsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (publishingProfileOptions == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "publishingProfileOptions"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -28258,44 +34479,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("publishingProfileOptions", publishingProfileOptions); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "StopWebSiteNetworkTraceSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPublishingProfileXmlWithSecretsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -28311,11 +34533,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(publishingProfileOptions != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(publishingProfileOptions, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -28323,7 +34551,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -28337,14 +34565,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -28366,7 +34594,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -28376,20 +34604,7 @@ internal WebAppsOperations(WebSiteManagementClient client) // Deserialize Response if ((int)_statusCode == 200) { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } + _result.Body = await _httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); } if (_shouldTrace) { @@ -28399,34 +34614,95 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Generates new random app publishing password + /// Recovers a deleted web app. /// - /// Generates new random app publishing password + /// + /// Recovers a deleted web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// /// /// Name of web app slot. If not specified then will default to production /// slot. /// /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> RecoverSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginRecoverSlotWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, slot, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API resets + /// configuration settings for the production slot. + /// + /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GenerateNewSitePublishingPasswordSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task ResetSlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -28435,7 +34711,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -28452,41 +34728,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GenerateNewSitePublishingPasswordSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ResetSlotConfigurationSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -28503,10 +34779,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -28514,7 +34790,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -28522,22 +34798,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -28557,31 +34825,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -28590,21 +34840,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the operation for a web app + /// Restarts an app (or deployment slot, if specified). /// - /// Gets the operation for a web app + /// + /// Restarts an app (or deployment slot, if specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of an operation + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// restart the production slot. + /// + /// + /// Specify true to apply the configuration settings and restarts the app only + /// if necessary. By default, the API always restarts and reprovisions the app. + /// + /// + /// Specify true to block until the app is restarted. By default, it is set to + /// false, and the API responds immediately (asynchronous). /// /// /// Headers that will be added to request. @@ -28612,28 +34869,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetOperationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string operationId, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task RestartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (operationId == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "operationId"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -28647,46 +34924,54 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("operationId", operationId); tracingParameters.Add("slot", slot); + tracingParameters.Add("softRestart", softRestart); + tracingParameters.Add("synchronous", synchronous); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetOperationSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "RestartSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{operationId}", Uri.EscapeDataString(operationId)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (softRestart != null) + { + _queryParameters.Add(string.Format("softRestart={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(softRestart, Client.SerializationSettings).Trim('"')))); + } + if (synchronous != null) + { + _queryParameters.Add(string.Format("synchronous={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(synchronous, Client.SerializationSettings).Trim('"')))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -28703,10 +34988,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -28714,7 +34999,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -28725,19 +35010,11 @@ internal WebAppsOperations(WebSiteManagementClient client) if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -28757,31 +35034,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -28790,24 +35049,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets perfmon counters for web app + /// Get the difference in configuration settings between two web app slots. /// - /// Gets perfmon counters for web app + /// + /// Get the difference in configuration settings between two web app slots. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. **** CURRENTLY UNUSED ***** + /// + /// JSON object that contains the target slot name. See example. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and - /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq - /// duration'[Hour|Minute|Day]'. + /// + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// /// /// Headers that will be added to request. @@ -28815,24 +35073,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListPerfMonCountersSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> GetSlotsDifferencesSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (slotSwapEntity == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + } + if (slotSwapEntity != null) + { + slotSwapEntity.Validate(); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -28846,49 +35139,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("slotSwapEntity", slotSwapEntity); tracingParameters.Add("slot", slot); - tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPerfMonCountersSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetSlotsDifferencesSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -28904,11 +35193,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(slotSwapEntity != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(slotSwapEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -28916,7 +35211,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -28930,14 +35225,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -28959,7 +35254,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -28972,9 +35267,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -28992,18 +35287,51 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets sites's event logs + /// Swaps two deployment slots of an app. /// - /// Gets sites's event logs + /// + /// Swaps two deployment slots of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task SwapSlotSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send request + AzureOperationResponse _response = await BeginSwapSlotSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Returns all Snapshots to the user. + /// + /// + /// Returns all Snapshots to the user. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Website Name + /// + /// + /// Website Slot /// /// /// Headers that will be added to request. @@ -29011,15 +35339,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetSitePhpErrorLogFlagSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListSnapshotsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -29028,7 +35383,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -29045,41 +35400,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSitePhpErrorLogFlagSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSnapshotsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -29096,10 +35451,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -29107,7 +35462,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -29121,14 +35476,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -29150,7 +35505,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -29163,9 +35518,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -29183,17 +35538,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List premier add ons for web app + /// Gets the source control configuration of an app. /// - /// List premier add ons for web app + /// + /// Gets the source control configuration of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the source control configuration for the production slot. /// /// /// Headers that will be added to request. @@ -29201,15 +35559,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListPremierAddOnsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -29218,7 +35603,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -29235,41 +35620,41 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPremierAddOnsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetSourceControlSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -29286,10 +35671,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -29297,7 +35682,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -29311,14 +35696,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -29340,7 +35725,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -29353,9 +35738,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -29373,20 +35758,52 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets a specific premier add on + /// Updates the source control configuration of an app. /// - /// Gets a specific premier add on + /// + /// Updates the source control configuration of an app. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// - /// - /// Premier add on + /// + /// JSON representation of a SiteSourceControl object. See example. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the source control configuration for the production slot. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Deletes the source control configuration of an app. + /// + /// + /// Deletes the source control configuration of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the source control configuration for the production slot. /// /// /// Headers that will be added to request. @@ -29394,28 +35811,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (premierAddOnName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -29429,46 +35866,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("premierAddOnName", premierAddOnName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetPremierAddOnSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteSourceControlSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{premierAddOnName}", Uri.EscapeDataString(premierAddOnName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -29485,10 +35920,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -29496,7 +35931,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -29504,22 +35939,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -29539,31 +35966,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -29572,23 +35981,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Add premier add-on + /// Starts an app (or deployment slot, if specified). /// - /// Add premier add-on + /// + /// Starts an app (or deployment slot, if specified). + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on - /// - /// - /// Premier add on request + /// Name of the app. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will start + /// the production slot. /// /// /// Headers that will be added to request. @@ -29596,32 +36002,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> AddPremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task StartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (premierAddOnName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (premierAddOn == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOn"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -29635,47 +36057,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("premierAddOnName", premierAddOnName); - tracingParameters.Add("premierAddOn", premierAddOn); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "AddPremierAddOnSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "StartSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{premierAddOnName}", Uri.EscapeDataString(premierAddOnName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -29691,17 +36110,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(premierAddOn != null) - { - _requestContent = SafeJsonConvert.SerializeObject(premierAddOn, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -29709,7 +36122,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -29720,19 +36133,11 @@ internal WebAppsOperations(WebSiteManagementClient client) if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -29752,31 +36157,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -29785,20 +36172,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Delete premier add-on + /// Stops an app (or deployment slot, if specified). /// - /// Delete premier add-on + /// + /// Stops an app (or deployment slot, if specified). + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on + /// Name of the app. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will stop + /// the production slot. /// /// /// Headers that will be added to request. @@ -29806,28 +36193,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeletePremierAddOnSlotWithHttpMessagesAsync(string resourceGroupName, string name, string premierAddOnName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task StopSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (premierAddOnName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "premierAddOnName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -29841,46 +36248,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("premierAddOnName", premierAddOnName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeletePremierAddOnSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "StopSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{premierAddOnName}", Uri.EscapeDataString(premierAddOnName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -29897,10 +36302,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -29908,7 +36313,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -29919,19 +36324,11 @@ internal WebAppsOperations(WebSiteManagementClient client) if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -29951,31 +36348,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -29984,19 +36363,17 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the publishing profile for web app + /// Sync web app repository. /// - /// Gets the publishing profile for web app + /// + /// Sync web app repository. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP format. - /// /// /// Name of web app slot. If not specified then will default to production /// slot. @@ -30007,28 +36384,48 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListPublishingProfileXmlWithSecretsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmPublishingProfileOptions options, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task SyncRepositorySlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (options == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "options"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -30042,45 +36439,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("options", options); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPublishingProfileXmlWithSecretsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "SyncRepositorySlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -30096,17 +36492,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(options != null) - { - _requestContent = SafeJsonConvert.SerializeObject(options, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -30114,7 +36504,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -30122,22 +36512,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -30157,18 +36539,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _result.Body = await _httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -30177,54 +36554,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Recovers a deleted web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Recovers a deleted web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> RecoverSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginRecoverSlotWithHttpMessagesAsync( - resourceGroupName, name, recoveryEntity, slot, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Recovers a deleted web app - /// - /// Recovers a deleted web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// quota information of the production slot. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// Return only information specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -30232,28 +36583,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginRecoverSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListUsagesSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (recoveryEntity == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "recoveryEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -30267,45 +36641,49 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("recoveryEntity", recoveryEntity); tracingParameters.Add("slot", slot); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginRecoverSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListUsagesSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -30321,17 +36699,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(recoveryEntity != null) - { - _requestContent = SafeJsonConvert.SerializeObject(recoveryEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -30339,7 +36711,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -30353,14 +36725,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -30382,7 +36754,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -30395,9 +36767,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -30415,20 +36787,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// Gets the virtual networks the app (or deployment slot) is connected to. /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// + /// Gets the virtual networks the app (or deployment slot) is connected to. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// virtual network connections for the production slot. /// /// /// Headers that will be added to request. @@ -30436,212 +36808,41 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ResetSlotConfigurationSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListVnetConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (slot == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); - } - if (this.Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-08-01"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("slot", slot); - tracingParameters.Add("apiVersion", apiVersion); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ResetSlotConfigurationSlot", tracingParameters); - } - // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); - List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += "?" + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); - // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); - } - if (this.Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); - } - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (this.Client.Credentials != null) + if (resourceGroupName != null) { - cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try + if (resourceGroupName.Length > 90) { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); } - catch (JsonException) + if (resourceGroupName.Length < 1) { - // Ignore the exception + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) { - _httpResponse.Dispose(); + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Restarts web app - /// - /// Restarts web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Soft restart applies the configuration settings and restarts the app if - /// necessary. Hard restart always restarts and reprovisions the app - /// - /// - /// If true then the API will block until the app has been restarted - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> RestartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } if (name == null) { @@ -30651,7 +36852,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -30666,53 +36867,43 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("slot", slot); - tracingParameters.Add("softRestart", softRestart); - tracingParameters.Add("synchronous", synchronous); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "RestartSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListVnetConnectionsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (softRestart != null) - { - _queryParameters.Add(string.Format("softRestart={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(softRestart, this.Client.SerializationSettings).Trim('"')))); - } - if (synchronous != null) - { - _queryParameters.Add(string.Format("synchronous={0}", Uri.EscapeDataString(SafeJsonConvert.SerializeObject(synchronous, this.Client.SerializationSettings).Trim('"')))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -30729,10 +36920,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -30740,7 +36931,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -30754,14 +36945,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -30783,7 +36974,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -30796,9 +36987,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -30816,20 +37007,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the difference in configuration settings between two web app slots + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of the virtual network. /// /// - /// Name of the source slot + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the named virtual network for the production slot. /// /// /// Headers that will be added to request. @@ -30837,28 +37033,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetSlotsDifferencesSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (slotSwapEntity == null) + if (vnetName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -30872,45 +37095,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slotSwapEntity", slotSwapEntity); + tracingParameters.Add("vnetName", vnetName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSlotsDifferencesSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -30926,17 +37150,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(slotSwapEntity != null) - { - _requestContent = SafeJsonConvert.SerializeObject(slotSwapEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -30944,7 +37162,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -30958,14 +37176,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -30987,7 +37205,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -31000,9 +37218,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -31020,50 +37238,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Swaps web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Swaps web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the target slot name - /// - /// - /// Name of source slot for the swap + /// Name of the app. /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> SwapSlotsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginSwapSlotsSlotWithHttpMessagesAsync( - resourceGroupName, name, slotSwapEntity, slot, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Swaps web app slots - /// - /// Swaps web app slots - /// - /// Name of resource group - /// - /// - /// Name of web app + /// + /// Name of an existing Virtual Network. /// - /// - /// Request body that contains the target slot name + /// + /// Properties of the Virtual Network connection. See example. /// /// - /// Name of source slot for the swap + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update connections for the production slot. /// /// /// Headers that will be added to request. @@ -31071,28 +37267,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginSwapSlotsSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (slotSwapEntity == null) + if (vnetName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (connectionEnvelope != null) + { + connectionEnvelope.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -31106,45 +37337,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slotSwapEntity", slotSwapEntity); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginSwapSlotsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -31160,17 +37393,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(slotSwapEntity != null) + if(connectionEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(slotSwapEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -31178,7 +37411,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -31186,20 +37419,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -31221,7 +37454,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -31234,9 +37467,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -31246,23 +37479,207 @@ internal WebAppsOperations(WebSiteManagementClient client) throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); } } - // Deserialize Response - if ((int)_statusCode == 202) + if (_shouldTrace) { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. + /// + /// + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the virtual network. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the connection for the production slot. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); } - catch (JsonException ex) + if (resourceGroupName.Length < 1) { - _httpRequest.Dispose(); - if (_httpResponse != null) + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeleteVnetConnectionSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) { - _httpResponse.Dispose(); + _httpRequest.Headers.Remove(_header.Key); } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 404) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } if (_shouldTrace) { @@ -31272,17 +37689,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Returns all Snapshots to the user. + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Returns all Snapshots to the user. + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Website Name + /// Name of the app. + /// + /// + /// Name of an existing Virtual Network. + /// + /// + /// Properties of the Virtual Network connection. See example. /// /// - /// Website Slot + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update connections for the production slot. /// /// /// Headers that will be added to request. @@ -31290,24 +37718,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListSnapshotsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -31321,44 +37784,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSnapshotsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnectionSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -31374,11 +37840,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -31386,7 +37858,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -31400,14 +37872,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -31429,7 +37901,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -31442,9 +37914,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -31462,18 +37934,26 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the source control configuration of web app + /// Gets an app's Virtual Network gateway. /// - /// Get the source control configuration of web app + /// + /// Gets an app's Virtual Network gateway. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// gateway for the production slot's Virtual Network. /// /// /// Headers that will be added to request. @@ -31481,24 +37961,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (gatewayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -31512,44 +38027,48 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSourceControlSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnectionGatewaySlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -31566,10 +38085,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -31577,7 +38096,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -31585,20 +38104,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -31620,7 +38139,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -31633,9 +38152,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -31653,21 +38172,29 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Update the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update a gateway for the production slot's Virtual Network. /// /// /// Headers that will be added to request. @@ -31675,32 +38202,67 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteSourceControl == null) + if (vnetName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteSourceControl"); + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (siteSourceControl != null) + if (gatewayName == null) { - siteSourceControl.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (connectionEnvelope != null) + { + connectionEnvelope.Validate(); } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -31714,45 +38276,49 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteSourceControl", siteSourceControl); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateSourceControlSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnectionGatewaySlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -31768,17 +38334,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteSourceControl != null) + if(connectionEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(siteSourceControl, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -31786,7 +38352,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -31800,14 +38366,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -31829,7 +38395,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -31842,9 +38408,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -31862,18 +38428,29 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Delete source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Delete source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update a gateway for the production slot's Virtual Network. /// /// /// Headers that will be added to request. @@ -31881,24 +38458,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (gatewayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } if (slot == null) { throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -31912,44 +38528,49 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteSourceControlSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnectionGatewaySlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -31965,11 +38586,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -31977,7 +38604,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -31991,14 +38618,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -32020,7 +38647,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -32033,9 +38660,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -32053,21 +38680,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the source control configuration of web app + /// Get the difference in configuration settings between two web app slots. /// - /// Update the source control configuration of web app + /// + /// Get the difference in configuration settings between two web app slots. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the source control parameters + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// JSON object that contains the target slot name. See example. /// /// /// Headers that will be added to request. @@ -32075,28 +38700,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> GetSlotsDifferencesFromProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteSourceControl == null) + if (slotSwapEntity == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteSourceControl"); + throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); } - if (slot == null) + if (slotSwapEntity != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + slotSwapEntity.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -32110,45 +38762,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteSourceControl", siteSourceControl); - tracingParameters.Add("slot", slot); + tracingParameters.Add("slotSwapEntity", slotSwapEntity); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateSourceControlSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetSlotsDifferencesFromProduction", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -32164,17 +38814,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteSourceControl != null) + if(slotSwapEntity != null) { - _requestContent = SafeJsonConvert.SerializeObject(siteSourceControl, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(slotSwapEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -32182,7 +38832,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -32196,14 +38846,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -32225,7 +38875,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -32238,9 +38888,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -32258,209 +38908,44 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Starts web app + /// Swaps two deployment slots of an app. /// - /// Starts web app + /// + /// Swaps two deployment slots of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// JSON object that contains the target slot name. See example. /// /// - /// Headers that will be added to request. + /// The headers that will be added to request. /// /// /// The cancellation token. /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> StartSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task SwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (slot == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); - } - if (this.Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-08-01"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("slot", slot); - tracingParameters.Add("apiVersion", apiVersion); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "StartSlot", tracingParameters); - } - // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); - List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += "?" + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); - // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); - } - if (this.Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); - } - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (this.Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; + // Send request + AzureOperationResponse _response = await BeginSwapSlotWithProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); } /// - /// Stops web app + /// Returns all Snapshots to the user. /// - /// Stops web app + /// + /// Returns all Snapshots to the user. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Website Name /// /// /// Headers that will be added to request. @@ -32468,24 +38953,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> StopSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListSnapshotsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -32499,44 +39007,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "StopSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSnapshots", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -32553,10 +39059,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -32564,7 +39070,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -32578,14 +39084,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -32607,7 +39113,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -32620,9 +39126,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -32640,18 +39146,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Sync web app repository + /// Gets the source control configuration of an app. /// - /// Sync web app repository + /// + /// Gets the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the app. /// /// /// Headers that will be added to request. @@ -32659,24 +39163,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> SyncRepositorySlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -32690,44 +39217,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "SyncRepositorySlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetSourceControl", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -32744,10 +39269,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -32755,7 +39280,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -32769,14 +39294,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -32798,7 +39323,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -32811,9 +39336,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -32831,24 +39356,44 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the quota usage numbers for web app + /// Updates the source control configuration of an app. /// - /// Gets the quota usage numbers for web app + /// + /// Updates the source control configuration of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// JSON representation of a SiteSourceControl object. See example. /// - /// - /// Return only usages specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + public async Task> CreateOrUpdateSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + // Send Request + AzureOperationResponse _response = await BeginCreateOrUpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, customHeaders, cancellationToken).ConfigureAwait(false); + return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false); + } + + /// + /// Deletes the source control configuration of an app. + /// + /// + /// Deletes the source control configuration of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// /// Headers that will be added to request. @@ -32856,24 +39401,44 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListUsagesSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -32887,49 +39452,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slot", slot); - tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListUsagesSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteSourceControl", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -32946,10 +39504,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -32957,7 +39515,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -32965,22 +39523,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -33000,31 +39550,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -33033,19 +39565,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// Starts an app (or deployment slot, if specified). /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// + /// Starts an app (or deployment slot, if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// /// /// Headers that will be added to request. @@ -33053,24 +39582,44 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListVnetConnectionsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task StartWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -33084,44 +39633,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListVnetConnectionsSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Start", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -33138,10 +39685,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -33149,7 +39696,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -33160,19 +39707,11 @@ internal WebAppsOperations(WebSiteManagementClient client) if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -33192,31 +39731,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -33225,22 +39746,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// Stops an app (or deployment slot, if specified). /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// + /// Stops an app (or deployment slot, if specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// /// /// Headers that will be added to request. @@ -33248,28 +39763,44 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task StopWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -33283,46 +39814,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Stop", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -33339,10 +39866,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -33350,7 +39877,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -33361,19 +39888,11 @@ internal WebAppsOperations(WebSiteManagementClient client) if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -33393,31 +39912,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -33426,23 +39927,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Sync web app repository. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Sync web app repository. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The properties of this Virtual Network Connection - /// - /// - /// The name of the slot for this web app. + /// Name of web app /// /// /// Headers that will be added to request. @@ -33450,36 +39944,44 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task SyncRepositoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); - } - if (connectionEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); - } - if (connectionEnvelope != null) + if (resourceGroupName != null) { - connectionEnvelope.Validate(); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -33493,47 +39995,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "SyncRepository", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -33549,17 +40046,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -33567,7 +40058,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -33575,22 +40066,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -33610,31 +40093,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -33643,22 +40108,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network + /// Name of the app. /// - /// - /// The name of the slot for this web app. + /// + /// Return only information specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// Headers that will be added to request. @@ -33666,28 +40133,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -33701,46 +40187,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("slot", slot); + tracingParameters.Add("filter", filter); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteVnetConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListUsages", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (filter != null) + { + _queryParameters.Add(string.Format("$filter={0}", filter)); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -33757,10 +40244,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -33768,7 +40255,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -33782,14 +40269,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -33811,7 +40298,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -33824,9 +40311,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -33844,23 +40331,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Gets the virtual networks the app (or deployment slot) is connected to. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Gets the virtual networks the app (or deployment slot) is connected to. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The properties of this Virtual Network Connection - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// /// /// Headers that will be added to request. @@ -33868,32 +40348,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateVnetConnectionSlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListVnetConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); - } - if (connectionEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (slot == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -33907,47 +40402,42 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnectionSlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListVnetConnections", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -33963,17 +40453,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -33981,7 +40465,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -33995,14 +40479,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -34024,7 +40508,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -34037,9 +40521,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -34057,26 +40541,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The name of the slot for this web app. + /// Name of the virtual network. /// /// /// Headers that will be added to request. @@ -34084,15 +40563,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -34101,15 +40607,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (gatewayName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); - } - if (slot == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -34124,47 +40622,43 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnectionGatewaySlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -34181,10 +40675,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -34192,7 +40686,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -34200,20 +40694,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 404) + if ((int)_statusCode != 200) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -34235,7 +40729,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -34248,9 +40742,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -34268,27 +40762,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Virtual Network Gateway. + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Updates the Virtual Network Gateway. + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of an existing Virtual Network. /// /// - /// The properties to update this gateway with. - /// - /// - /// The name of the slot for this web app. + /// Properties of the Virtual Network connection. See example. /// /// /// Headers that will be added to request. @@ -34296,15 +40787,42 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -34313,10 +40831,6 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (gatewayName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); - } if (connectionEnvelope == null) { throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); @@ -34325,11 +40839,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { connectionEnvelope.Validate(); } - if (slot == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -34344,48 +40854,44 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); tracingParameters.Add("connectionEnvelope", connectionEnvelope); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnectionGatewaySlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -34403,15 +40909,15 @@ internal WebAppsOperations(WebSiteManagementClient client) string _requestContent = null; if(connectionEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -34419,7 +40925,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -34433,14 +40939,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -34462,7 +40968,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -34475,9 +40981,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -34495,27 +41001,21 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Virtual Network Gateway. + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. /// - /// Updates the Virtual Network Gateway. + /// + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. - /// - /// - /// The name of the slot for this web app. + /// Name of the virtual network. /// /// /// Headers that will be added to request. @@ -34523,15 +41023,39 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); @@ -34540,19 +41064,7 @@ internal WebAppsOperations(WebSiteManagementClient client) { throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (gatewayName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); - } - if (connectionEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); - } - if (slot == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "slot"); - } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -34567,48 +41079,43 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); - tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnectionGatewaySlot", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "DeleteVnetConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{slot}", Uri.EscapeDataString(slot)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -34624,17 +41131,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -34642,7 +41143,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -34650,22 +41151,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -34685,31 +41178,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -34718,17 +41193,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the difference in configuration settings between two web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Get the difference in configuration settings between two web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of an existing Virtual Network. + /// + /// + /// Properties of the Virtual Network connection. See example. /// /// /// Headers that will be added to request. @@ -34736,24 +41218,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetSlotsDifferencesFromProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (slotSwapEntity == null) + if (vnetName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -34767,43 +41280,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slotSwapEntity", slotSwapEntity); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSlotsDifferencesFromProduction", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnection", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -34819,17 +41334,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(slotSwapEntity != null) + if(connectionEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(slotSwapEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -34837,7 +41352,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -34851,14 +41366,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -34880,7 +41395,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -34893,9 +41408,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -34913,44 +41428,22 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Swaps web app slots + /// Gets an app's Virtual Network gateway. /// - /// Swaps web app slots + /// + /// Gets an app's Virtual Network gateway. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - public async Task> SwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - // Send request - AzureOperationResponse _response = await BeginSwapSlotWithProductionWithHttpMessagesAsync( - resourceGroupName, name, slotSwapEntity, customHeaders, cancellationToken); - return await this.Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken); - } - - /// - /// Swaps web app slots - /// - /// Swaps web app slots - /// - /// Name of resource group - /// - /// - /// Name of web app + /// + /// Name of the Virtual Network. /// - /// - /// Request body that contains the target slot name + /// + /// Name of the gateway. Currently, the only supported string is "primary". /// /// /// Headers that will be added to request. @@ -34958,24 +41451,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> BeginSwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (slotSwapEntity == null) + if (vnetName == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); } - if (this.Client.SubscriptionId == null) + if (gatewayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -34989,43 +41513,46 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("slotSwapEntity", slotSwapEntity); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "BeginSwapSlotWithProduction", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnectionGateway", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -35041,17 +41568,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(slotSwapEntity != null) - { - _requestContent = SafeJsonConvert.SerializeObject(slotSwapEntity, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -35059,7 +41580,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -35067,20 +41588,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 202) + if ((int)_statusCode != 200 && (int)_statusCode != 404) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -35102,7 +41623,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -35115,27 +41636,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -35153,14 +41656,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Returns all Snapshots to the user. + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Returns all Snapshots to the user. + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Website Name + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// /// Headers that will be added to request. @@ -35168,20 +41682,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListSnapshotsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateOrUpdateVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (gatewayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (connectionEnvelope != null) + { + connectionEnvelope.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -35195,42 +41752,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSnapshots", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnectionGateway", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -35246,11 +41808,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -35258,7 +41826,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -35272,14 +41840,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -35301,7 +41869,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -35314,9 +41882,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -35334,14 +41902,25 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Get the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// /// Headers that will be added to request. @@ -35349,20 +41928,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (vnetName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + } + if (gatewayName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + } + if (connectionEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -35376,42 +41994,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("gatewayName", gatewayName); + tracingParameters.Add("connectionEnvelope", connectionEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSourceControl", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnectionGateway", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{vnetName}", System.Uri.EscapeDataString(vnetName)); + _url = _url.Replace("{gatewayName}", System.Uri.EscapeDataString(gatewayName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -35427,11 +42050,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(connectionEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(connectionEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -35439,7 +42068,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -35453,14 +42082,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -35482,7 +42111,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -35495,9 +42124,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -35515,17 +42144,37 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the source control configuration of web app + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Update the source control configuration of web app + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// - /// - /// Request body that contains the source control parameters + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name /// /// /// Headers that will be added to request. @@ -35533,28 +42182,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteSourceControl == null) + if (siteEnvelope == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteSourceControl"); + throw new ValidationException(ValidationRules.CannotBeNull, "siteEnvelope"); } - if (siteSourceControl != null) + if (siteEnvelope != null) { - siteSourceControl.Validate(); + siteEnvelope.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -35568,43 +42244,63 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteSourceControl", siteSourceControl); + tracingParameters.Add("siteEnvelope", siteEnvelope); + tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); + tracingParameters.Add("skipCustomDomainVerification", skipCustomDomainVerification); + tracingParameters.Add("forceDnsRegistration", forceDnsRegistration); + tracingParameters.Add("ttlInSeconds", ttlInSeconds); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateSourceControl", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (skipDnsRegistration != null) + { + _queryParameters.Add(string.Format("skipDnsRegistration={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(skipDnsRegistration, Client.SerializationSettings).Trim('"')))); + } + if (skipCustomDomainVerification != null) + { + _queryParameters.Add(string.Format("skipCustomDomainVerification={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(skipCustomDomainVerification, Client.SerializationSettings).Trim('"')))); + } + if (forceDnsRegistration != null) + { + _queryParameters.Add(string.Format("forceDnsRegistration={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(forceDnsRegistration, Client.SerializationSettings).Trim('"')))); + } + if (ttlInSeconds != null) + { + _queryParameters.Add(string.Format("ttlInSeconds={0}", System.Uri.EscapeDataString(ttlInSeconds))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -35620,17 +42316,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteSourceControl != null) + if(siteEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(siteSourceControl, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -35638,7 +42334,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -35646,20 +42342,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -35681,7 +42377,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -35694,9 +42390,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -35706,178 +42402,15 @@ internal WebAppsOperations(WebSiteManagementClient client) throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); } } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Delete source control configuration of web app - /// - /// Delete source control configuration of web app - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> DeleteSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (this.Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - string apiVersion = "2016-08-01"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("apiVersion", apiVersion); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteSourceControl", tracingParameters); - } - // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); - List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += "?" + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); - // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); - } - if (this.Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); - } - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (this.Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } // Deserialize Response - if ((int)_statusCode == 200) + if ((int)_statusCode == 202) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -35895,17 +42428,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Update the source control configuration of web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Update the source control configuration of web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// ID of the backup. + /// + /// + /// Information on restore request /// /// /// Headers that will be added to request. @@ -35913,24 +42453,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginRestoreWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (siteSourceControl == null) + if (backupId == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "siteSourceControl"); + throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + } + if (request == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -35944,43 +42519,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("siteSourceControl", siteSourceControl); + tracingParameters.Add("backupId", backupId); + tracingParameters.Add("request", request); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateSourceControl", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginRestore", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -35996,17 +42573,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(siteSourceControl != null) + if(request != null) { - _requestContent = SafeJsonConvert.SerializeObject(siteSourceControl, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -36014,7 +42591,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -36028,14 +42605,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -36057,7 +42634,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -36070,9 +42647,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -36090,14 +42667,16 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Starts web app + /// Gets the Git/FTP publishing credentials of an app. /// - /// Starts web app + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// Headers that will be added to request. @@ -36105,20 +42684,47 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> StartWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginListPublishingCredentialsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -36134,40 +42740,40 @@ internal WebAppsOperations(WebSiteManagementClient client) tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Start", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginListPublishingCredentials", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -36184,10 +42790,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -36195,7 +42801,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -36209,14 +42815,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -36238,7 +42844,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -36251,9 +42857,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -36271,35 +42877,82 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Stops web app + /// Restores a web app. /// - /// Stops web app + /// + /// Restores a web app. + /// + /// + /// Azure subscription + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Migration migrationOptions + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> StopWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginMigrateStorageWithHttpMessagesAsync(string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { + if (subscriptionName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "subscriptionName"); + } if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (migrationOptions == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "migrationOptions"); + } + if (migrationOptions != null) + { + migrationOptions.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -36311,44 +42964,50 @@ internal WebAppsOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("subscriptionName", subscriptionName); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("migrationOptions", migrationOptions); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Stop", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginMigrateStorage", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (subscriptionName != null) + { + _queryParameters.Add(string.Format("subscriptionName={0}", System.Uri.EscapeDataString(subscriptionName))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -36364,11 +43023,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(migrationOptions != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(migrationOptions, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -36376,7 +43041,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -36390,14 +43055,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -36419,7 +43084,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -36432,9 +43097,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -36452,35 +43117,75 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Sync web app repository + /// Migrates a local (in-app) MySql database to a remote MySql database. /// - /// Sync web app repository + /// + /// Migrates a local (in-app) MySql database to a remote MySql database. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// MySql migration options + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> SyncRepositoryWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginMigrateMySqlWithHttpMessagesAsync(string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (migrationRequestEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "migrationRequestEnvelope"); + } + if (migrationRequestEnvelope != null) + { + migrationRequestEnvelope.Validate(); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -36494,42 +43199,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("migrationRequestEnvelope", migrationRequestEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "SyncRepository", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginMigrateMySql", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -36545,11 +43251,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(migrationRequestEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(migrationRequestEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -36557,7 +43269,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -36571,14 +43283,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -36600,7 +43312,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -36613,9 +43325,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -36633,20 +43345,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the quota usage numbers for web app + /// Recovers a deleted web app. /// - /// Gets the quota usage numbers for web app + /// + /// Recovers a deleted web app. + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Return only usages specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. /// /// /// Headers that will be added to request. @@ -36654,20 +43366,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListUsagesWithHttpMessagesAsync(string resourceGroupName, string name, string filter = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginRecoverWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (recoveryEntity == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "recoveryEntity"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -36681,47 +43424,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("filter", filter); + tracingParameters.Add("recoveryEntity", recoveryEntity); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListUsages", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginRecover", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); - if (filter != null) - { - _queryParameters.Add(string.Format("$filter={0}", Uri.EscapeDataString(filter))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -36737,11 +43476,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(recoveryEntity != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(recoveryEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -36749,7 +43494,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -36763,14 +43508,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -36792,7 +43537,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -36805,9 +43550,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -36825,16 +43570,41 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// Name of the deployment slot to create or update. By default, this API + /// attempts to create or modify the production slot. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name /// /// /// Headers that will be added to request. @@ -36842,20 +43612,59 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListVnetConnectionsWithHttpMessagesAsync(string resourceGroupName, string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateSlotWithHttpMessagesAsync(string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (this.Client.SubscriptionId == null) + if (siteEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteEnvelope"); + } + if (siteEnvelope != null) + { + siteEnvelope.Validate(); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -36869,42 +43678,65 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); + tracingParameters.Add("siteEnvelope", siteEnvelope); + tracingParameters.Add("slot", slot); + tracingParameters.Add("skipDnsRegistration", skipDnsRegistration); + tracingParameters.Add("skipCustomDomainVerification", skipCustomDomainVerification); + tracingParameters.Add("forceDnsRegistration", forceDnsRegistration); + tracingParameters.Add("ttlInSeconds", ttlInSeconds); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListVnetConnections", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); + if (skipDnsRegistration != null) + { + _queryParameters.Add(string.Format("skipDnsRegistration={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(skipDnsRegistration, Client.SerializationSettings).Trim('"')))); + } + if (skipCustomDomainVerification != null) + { + _queryParameters.Add(string.Format("skipCustomDomainVerification={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(skipCustomDomainVerification, Client.SerializationSettings).Trim('"')))); + } + if (forceDnsRegistration != null) + { + _queryParameters.Add(string.Format("forceDnsRegistration={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(forceDnsRegistration, Client.SerializationSettings).Trim('"')))); + } + if (ttlInSeconds != null) + { + _queryParameters.Add(string.Format("ttlInSeconds={0}", System.Uri.EscapeDataString(ttlInSeconds))); + } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -36920,11 +43752,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(siteEnvelope != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteEnvelope, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -36932,7 +43770,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -36940,20 +43778,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -36975,7 +43813,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -36988,9 +43826,27 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 202) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -37008,19 +43864,28 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// ID of the backup. + /// + /// + /// Information on restore request + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// restore a backup of the production slot. /// /// /// Headers that will be added to request. @@ -37028,24 +43893,63 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginRestoreSlotWithHttpMessagesAsync(string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (vnetName == null) + if (backupId == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + throw new ValidationException(ValidationRules.CannotBeNull, "backupId"); + } + if (request == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "request"); + } + if (request != null) + { + request.Validate(); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -37059,44 +43963,47 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("backupId", backupId); + tracingParameters.Add("request", request); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginRestoreSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{backupId}", System.Uri.EscapeDataString(backupId)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -37112,11 +44019,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(request != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -37124,7 +44037,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -37138,14 +44051,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -37167,7 +44080,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -37180,9 +44093,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -37200,20 +44113,20 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Gets the Git/FTP publishing credentials of an app. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network + /// Name of the app. /// - /// - /// The properties of this Virtual Network Connection + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing credentials for the production slot. /// /// /// Headers that will be added to request. @@ -37221,32 +44134,51 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginListPublishingCredentialsSlotWithHttpMessagesAsync(string resourceGroupName, string name, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (connectionEnvelope == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (connectionEnvelope != null) + if (slot == null) { - connectionEnvelope.Validate(); + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -37260,45 +44192,44 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginListPublishingCredentialsSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -37314,17 +44245,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -37332,7 +44257,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -37346,14 +44271,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -37375,7 +44300,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -37388,9 +44313,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -37408,19 +44333,24 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// Recovers a deleted web app. /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// + /// Recovers a deleted web app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of web app /// - /// - /// The name of the Virtual Network + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// + /// Name of web app slot. If not specified then will default to production + /// slot. /// /// /// Headers that will be added to request. @@ -37428,24 +44358,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> DeleteVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginRecoverSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (vnetName == null) + if (recoveryEntity == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + throw new ValidationException(ValidationRules.CannotBeNull, "recoveryEntity"); } - if (this.Client.SubscriptionId == null) + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -37459,44 +44420,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); + tracingParameters.Add("recoveryEntity", recoveryEntity); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "DeleteVnetConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginRecoverSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -37512,11 +44474,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(recoveryEntity != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(recoveryEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -37524,7 +44492,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -37538,14 +44506,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -37567,7 +44535,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -37580,9 +44548,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -37600,20 +44568,23 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Swaps two deployment slots of an app. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Swaps two deployment slots of an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// JSON object that contains the target slot name. See example. /// - /// - /// The properties of this Virtual Network Connection + /// + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// /// /// Headers that will be added to request. @@ -37621,28 +44592,56 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateVnetConnectionWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task BeginSwapSlotSlotWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (vnetName == null) + if (slotSwapEntity == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); } - if (connectionEnvelope == null) + if (slotSwapEntity != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + slotSwapEntity.Validate(); } - if (this.Client.SubscriptionId == null) + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -37656,45 +44655,45 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); + tracingParameters.Add("slotSwapEntity", slotSwapEntity); + tracingParameters.Add("slot", slot); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnection", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginSwapSlotSlot", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -37710,17 +44709,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) + if(slotSwapEntity != null) { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(slotSwapEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -37728,7 +44727,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -37736,20 +44735,232 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 202) + { + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + if (_httpResponse.Content != null) { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + } + else { + _responseContent = string.Empty; + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new AzureOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Updates the source control configuration of an app. + /// + /// + /// Updates the source control configuration of an app. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// JSON representation of a SiteSourceControl object. See example. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the source control configuration for the production slot. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> BeginCreateOrUpdateSourceControlSlotWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (siteSourceControl == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "siteSourceControl"); + } + if (siteSourceControl != null) + { + siteSourceControl.Validate(); + } + if (slot == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "slot"); + } + if (Client.SubscriptionId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + } + string apiVersion = "2016-08-01"; + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("name", name); + tracingParameters.Add("siteSourceControl", siteSourceControl); + tracingParameters.Add("slot", slot); + tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateSourceControlSlot", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{slot}", System.Uri.EscapeDataString(slot)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); + List _queryParameters = new List(); + if (apiVersion != null) + { + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); + } + if (_queryParameters.Count > 0) + { + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) + { + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); + } + if (Client.AcceptLanguage != null) + { + if (_httpRequest.Headers.Contains("accept-language")) + { + _httpRequest.Headers.Remove("accept-language"); + } + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); + } + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(siteSourceControl != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteSourceControl, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Set Credentials + if (Client.Credentials != null) + { + cancellationToken.ThrowIfCancellationRequested(); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200 && (int)_statusCode != 201) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -37771,7 +44982,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -37784,9 +44995,27 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 201) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -37804,23 +45033,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// Swaps two deployment slots of an app. /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// + /// Swaps two deployment slots of an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network + /// Name of the app. /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// + /// JSON object that contains the target slot name. See example. /// /// /// Headers that will be added to request. @@ -37828,28 +45053,52 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task BeginSwapSlotWithProductionWithHttpMessagesAsync(string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } if (name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (vnetName == null) + if (slotSwapEntity == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + throw new ValidationException(ValidationRules.CannotBeNull, "slotSwapEntity"); } - if (gatewayName == null) + if (slotSwapEntity != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + slotSwapEntity.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -37863,46 +45112,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); + tracingParameters.Add("slotSwapEntity", slotSwapEntity); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetVnetConnectionGateway", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginSwapSlotWithProduction", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -37918,11 +45164,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; + if(slotSwapEntity != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(slotSwapEntity, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -37930,7 +45182,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -37938,22 +45190,14 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 404) + if ((int)_statusCode != 200 && (int)_statusCode != 202) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -37973,31 +45217,13 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -38006,24 +45232,19 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Virtual Network Gateway. + /// Updates the source control configuration of an app. /// - /// Updates the Virtual Network Gateway. + /// + /// Updates the source control configuration of an app. + /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the app. /// - /// - /// The properties to update this gateway with. + /// + /// JSON representation of a SiteSourceControl object. See example. /// /// /// Headers that will be added to request. @@ -38031,36 +45252,55 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CreateOrUpdateVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> BeginCreateOrUpdateSourceControlWithHttpMessagesAsync(string resourceGroupName, string name, SiteSourceControl siteSourceControl, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (gatewayName == null) + if (name == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); + throw new ValidationException(ValidationRules.CannotBeNull, "name"); } - if (connectionEnvelope == null) + if (siteSourceControl == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); + throw new ValidationException(ValidationRules.CannotBeNull, "siteSourceControl"); } - if (connectionEnvelope != null) + if (siteSourceControl != null) { - connectionEnvelope.Validate(); + siteSourceControl.Validate(); } - if (this.Client.SubscriptionId == null) + if (Client.SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } @@ -38074,47 +45314,43 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); + tracingParameters.Add("siteSourceControl", siteSourceControl); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdateVnetConnectionGateway", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdateSourceControl", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + var _baseUrl = Client.BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -38130,17 +45366,17 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) + if(siteSourceControl != null) { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(siteSourceControl, Client.SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -38148,7 +45384,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -38156,20 +45392,20 @@ internal WebAppsOperations(WebSiteManagementClient client) HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 200 && (int)_statusCode != 201) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -38191,7 +45427,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -38204,9 +45440,27 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (Newtonsoft.Json.JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + // Deserialize Response + if ((int)_statusCode == 201) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -38224,24 +45478,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Updates the Virtual Network Gateway. + /// Get all apps for a subscription. /// - /// Updates the Virtual Network Gateway. - /// - /// The resource group name - /// - /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. + /// + /// Get all apps for a subscription. + /// + /// + /// The NextLink from the previous successful call to List operation. /// /// /// Headers that will be added to request. @@ -38249,36 +45492,27 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdateVnetConnectionGatewayWithHttpMessagesAsync(string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (vnetName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "vnetName"); - } - if (gatewayName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "gatewayName"); - } - if (connectionEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "connectionEnvelope"); - } - if (this.Client.SubscriptionId == null) + if (nextPageLink == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); } - string apiVersion = "2016-08-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -38286,49 +45520,35 @@ internal WebAppsOperations(WebSiteManagementClient client) { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("name", name); - tracingParameters.Add("vnetName", vnetName); - tracingParameters.Add("gatewayName", gatewayName); - tracingParameters.Add("connectionEnvelope", connectionEnvelope); - tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateVnetConnectionGateway", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); } // Construct URL - var _baseUrl = this.Client.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{vnetName}", Uri.EscapeDataString(vnetName)); - _url = _url.Replace("{gatewayName}", Uri.EscapeDataString(gatewayName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.Client.SubscriptionId)); + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -38344,17 +45564,11 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; - if(connectionEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(connectionEnvelope, this.Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -38362,7 +45576,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -38376,14 +45590,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -38405,7 +45619,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -38418,9 +45632,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -38438,9 +45652,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets all Web Apps for a subscription + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets all Web Apps for a subscription + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -38450,10 +45666,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -38468,7 +45696,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroupNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -38476,25 +45704,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -38511,10 +45739,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -38522,7 +45750,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -38536,14 +45764,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -38578,9 +45806,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -38598,9 +45826,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets deleted web apps in subscription + /// Gets existing backups of an app. /// - /// Gets deleted web apps in subscription + /// + /// Gets existing backups of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -38610,10 +45840,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListDeletedNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListBackupsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -38628,7 +45870,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListDeletedNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListBackupsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -38636,25 +45878,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -38671,10 +45913,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -38682,7 +45924,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -38696,14 +45938,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -38725,7 +45967,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -38738,9 +45980,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -38758,9 +46000,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the web apps for a subscription in the specified resource group + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Gets the web apps for a subscription in the specified resource group + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -38770,10 +46016,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDeploymentsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -38788,7 +46046,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroupNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDeploymentsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -38796,25 +46054,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -38831,10 +46089,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -38842,7 +46100,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -38856,14 +46114,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -38885,7 +46143,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -38898,9 +46156,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -38918,9 +46176,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Lists all available backups for web app + /// Lists ownership identifiers for domain associated with web app. /// - /// Lists all available backups for web app + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -38930,10 +46190,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListBackupsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDomainOwnershipIdentifiersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -38948,7 +46220,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListBackupsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDomainOwnershipIdentifiersNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -38956,25 +46228,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -38991,10 +46263,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -39002,7 +46274,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -39016,14 +46288,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -39045,7 +46317,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -39058,9 +46330,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -39078,9 +46350,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// Get hostname bindings for an app or a deployment slot. /// - /// List deployments + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -39090,10 +46364,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListDeploymentsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListHostNameBindingsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -39108,7 +46394,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListDeploymentsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListHostNameBindingsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -39116,25 +46402,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -39151,10 +46437,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -39162,7 +46448,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -39176,14 +46462,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -39205,7 +46491,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -39218,9 +46504,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -39238,9 +46524,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get web app hostname bindings + /// Gets all scale-out instances of an app. /// - /// Get web app hostname bindings + /// + /// Gets all scale-out instances of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -39250,10 +46538,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListHostNameBindingsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListInstanceIdentifiersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -39268,7 +46568,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListHostNameBindingsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListInstanceIdentifiersNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -39276,25 +46576,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -39311,10 +46611,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -39322,7 +46622,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -39336,14 +46636,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -39365,7 +46665,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -39378,9 +46678,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -39398,9 +46698,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets all instance of a web app + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Gets all instance of a web app + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -39410,10 +46714,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListInstanceIdentifiersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListInstanceDeploymentsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -39428,7 +46744,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListInstanceIdentifiersNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListInstanceDeploymentsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -39436,25 +46752,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -39471,10 +46787,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -39482,7 +46798,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -39496,14 +46812,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -39525,7 +46841,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -39538,9 +46854,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -39558,9 +46874,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// List deployments + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -39570,10 +46888,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListInstanceDeploymentsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -39588,7 +46918,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListInstanceDeploymentsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitionsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -39596,25 +46926,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -39631,10 +46961,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -39642,7 +46972,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -39656,14 +46986,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -39685,7 +47015,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -39698,9 +47028,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -39718,9 +47048,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets metric definitions for web app + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Gets metric definitions for web app + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -39730,10 +47062,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricDefinitionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -39748,7 +47092,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricDefinitionsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListMetricsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -39756,25 +47100,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -39791,10 +47135,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -39802,7 +47146,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -39816,14 +47160,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -39845,7 +47189,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -39858,9 +47202,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -39878,9 +47222,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets metrics for web app + /// Gets perfmon counters for web app. /// - /// Gets metrics for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -39890,10 +47236,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListPerfMonCountersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -39908,7 +47266,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListMetricsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPerfMonCountersNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -39916,25 +47274,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -39951,10 +47309,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -39962,7 +47320,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -39976,14 +47334,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -40005,7 +47363,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -40018,9 +47376,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -40038,9 +47396,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets perfmon counters for web app + /// Gets an app's deployment slots. /// - /// Gets perfmon counters for web app + /// + /// Gets an app's deployment slots. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -40050,10 +47410,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListPerfMonCountersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListSlotsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -40068,7 +47440,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPerfMonCountersNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSlotsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -40076,25 +47448,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -40111,10 +47483,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -40122,7 +47494,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -40136,14 +47508,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -40165,7 +47537,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -40178,9 +47550,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -40198,9 +47570,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets all the slots for a web apps + /// Gets existing backups of an app. /// - /// Gets all the slots for a web apps + /// + /// Gets existing backups of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -40210,10 +47584,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListSlotsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListBackupsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -40228,7 +47614,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSlotsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListBackupsSlotNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -40236,25 +47622,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -40271,10 +47657,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -40282,7 +47668,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -40296,14 +47682,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -40325,7 +47711,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -40338,9 +47724,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -40358,9 +47744,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Lists all available backups for web app + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Lists all available backups for web app + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -40370,10 +47760,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListBackupsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDeploymentsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -40388,7 +47790,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListBackupsSlotNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDeploymentsSlotNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -40396,25 +47798,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -40431,10 +47833,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -40442,7 +47844,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -40456,14 +47858,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -40485,7 +47887,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -40498,9 +47900,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -40518,9 +47920,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// Lists ownership identifiers for domain associated with web app. /// - /// List deployments + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -40530,10 +47934,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListDeploymentsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListDomainOwnershipIdentifiersSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -40548,7 +47964,7 @@ internal WebAppsOperations(WebSiteManagementClient client) Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListDeploymentsSlotNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListDomainOwnershipIdentifiersSlotNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -40556,25 +47972,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -40591,10 +48007,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -40602,7 +48018,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -40616,14 +48032,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -40645,7 +48061,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -40658,9 +48074,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -40678,9 +48094,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get web app hostname bindings + /// Get hostname bindings for an app or a deployment slot. /// - /// Get web app hostname bindings + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -40690,6 +48108,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -40716,25 +48146,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -40751,10 +48181,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -40762,7 +48192,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -40776,14 +48206,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -40818,9 +48248,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -40838,9 +48268,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -40850,6 +48282,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -40876,25 +48320,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -40911,10 +48355,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -40922,7 +48366,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -40936,14 +48380,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -40978,9 +48422,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -40998,9 +48442,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -41010,6 +48458,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -41036,25 +48496,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -41071,10 +48531,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -41082,7 +48542,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -41096,14 +48556,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -41138,9 +48598,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -41158,9 +48618,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -41170,10 +48632,22 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListMetricDefinitionsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListMetricDefinitionsSlotNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -41196,25 +48670,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -41231,10 +48705,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -41242,7 +48716,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -41256,14 +48730,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -41285,7 +48759,7 @@ internal WebAppsOperations(WebSiteManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -41298,9 +48772,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -41318,9 +48792,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -41330,6 +48806,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -41356,25 +48844,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -41391,10 +48879,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -41402,7 +48890,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -41416,14 +48904,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -41458,9 +48946,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -41478,9 +48966,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -41490,6 +48980,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -41516,25 +49018,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -41551,10 +49053,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -41562,7 +49064,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -41576,14 +49078,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -41618,9 +49120,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -41638,9 +49140,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the difference in configuration settings between two web app slots + /// Get the difference in configuration settings between two web app slots. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -41650,6 +49154,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -41676,25 +49192,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -41711,10 +49227,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -41722,7 +49238,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -41736,14 +49252,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -41778,9 +49294,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -41800,7 +49316,9 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -41810,6 +49328,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -41836,25 +49366,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -41871,10 +49401,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -41882,7 +49412,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -41896,14 +49426,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -41938,9 +49468,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -41958,9 +49488,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -41970,6 +49504,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -41996,25 +49542,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -42031,10 +49577,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -42042,7 +49588,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -42056,14 +49602,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -42098,9 +49644,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -42118,9 +49664,11 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Get the difference in configuration settings between two web app slots + /// Get the difference in configuration settings between two web app slots. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -42130,6 +49678,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -42156,25 +49716,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -42191,10 +49751,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -42202,7 +49762,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -42216,14 +49776,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -42258,9 +49818,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -42280,7 +49840,9 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -42290,6 +49852,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -42316,25 +49890,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -42351,10 +49925,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -42362,7 +49936,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -42376,14 +49950,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -42418,9 +49992,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -42438,9 +50012,13 @@ internal WebAppsOperations(WebSiteManagementClient client) } /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -42450,6 +50028,18 @@ internal WebAppsOperations(WebSiteManagementClient client) /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// @@ -42476,25 +50066,25 @@ internal WebAppsOperations(WebSiteManagementClient client) List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) + if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.Client.AcceptLanguage != null) + if (Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); } if (customHeaders != null) { @@ -42511,10 +50101,10 @@ internal WebAppsOperations(WebSiteManagementClient client) // Serialize Request string _requestContent = null; // Set Credentials - if (this.Client.Credentials != null) + if (Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -42522,7 +50112,7 @@ internal WebAppsOperations(WebSiteManagementClient client) ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -42536,14 +50126,14 @@ internal WebAppsOperations(WebSiteManagementClient client) try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -42578,9 +50168,9 @@ internal WebAppsOperations(WebSiteManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -42599,3 +50189,4 @@ internal WebAppsOperations(WebSiteManagementClient client) } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperationsExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperationsExtensions.cs index 55355f7b1c48..cd895b4151a3 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperationsExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebAppsOperationsExtensions.cs @@ -1,21 +1,23 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Collections; using System.Collections.Generic; + using System.IO; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for WebAppsOperations. @@ -23,21 +25,25 @@ namespace Microsoft.Azure.Management.WebSites public static partial class WebAppsOperationsExtensions { /// - /// Gets all Web Apps for a subscription + /// Get all apps for a subscription. /// - /// Gets all Web Apps for a subscription + /// + /// Get all apps for a subscription. + /// /// /// The operations group for this extension method. /// public static IPage List(this IWebAppsOperations operations) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListAsync().GetAwaiter().GetResult(); } /// - /// Gets all Web Apps for a subscription + /// Get all apps for a subscription. /// - /// Gets all Web Apps for a subscription + /// + /// Get all apps for a subscription. + /// /// /// The operations group for this extension method. /// @@ -53,158 +59,121 @@ public static IPage List(this IWebAppsOperations operations) } /// - /// Gets deleted web apps in subscription - /// - /// Gets deleted web apps in subscription - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Additional web app properties included in the response - /// - public static IPage ListDeleted(this IWebAppsOperations operations, string resourceGroupName, string propertiesToInclude = default(string)) - { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListDeletedAsync(resourceGroupName, propertiesToInclude), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Gets deleted web apps in subscription - /// - /// Gets deleted web apps in subscription - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Additional web app properties included in the response - /// - /// - /// The cancellation token. - /// - public static async Task> ListDeletedAsync(this IWebAppsOperations operations, string resourceGroupName, string propertiesToInclude = default(string), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.ListDeletedWithHttpMessagesAsync(resourceGroupName, propertiesToInclude, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Gets the web apps for a subscription in the specified resource group + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets the web apps for a subscription in the specified resource group + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group - /// - /// - /// Additional web app properties included in the response + /// Name of the resource group to which the resource belongs. /// /// - /// Whether or not to include deployments slots in results + /// Specify <strong>true</strong> to include deployment slots in + /// results. The default is false, which only gives you the production slot of + /// all apps. /// - public static IPage ListByResourceGroup(this IWebAppsOperations operations, string resourceGroupName, string propertiesToInclude = default(string), bool? includeSlots = default(bool?)) + public static IPage ListByResourceGroup(this IWebAppsOperations operations, string resourceGroupName, bool? includeSlots = default(bool?)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListByResourceGroupAsync(resourceGroupName, propertiesToInclude, includeSlots), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupAsync(resourceGroupName, includeSlots).GetAwaiter().GetResult(); } /// - /// Gets the web apps for a subscription in the specified resource group + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets the web apps for a subscription in the specified resource group + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group - /// - /// - /// Additional web app properties included in the response + /// Name of the resource group to which the resource belongs. /// /// - /// Whether or not to include deployments slots in results + /// Specify <strong>true</strong> to include deployment slots in + /// results. The default is false, which only gives you the production slot of + /// all apps. /// /// /// The cancellation token. /// - public static async Task> ListByResourceGroupAsync(this IWebAppsOperations operations, string resourceGroupName, string propertiesToInclude = default(string), bool? includeSlots = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListByResourceGroupAsync(this IWebAppsOperations operations, string resourceGroupName, bool? includeSlots = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListByResourceGroupWithHttpMessagesAsync(resourceGroupName, propertiesToInclude, includeSlots, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListByResourceGroupWithHttpMessagesAsync(resourceGroupName, includeSlots, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get details of a web app + /// Gets the details of a web, mobile, or API app. /// - /// Get details of a web app + /// + /// Gets the details of a web, mobile, or API app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Additional web app properties included in the response + /// Name of the app. /// - public static Site Get(this IWebAppsOperations operations, string resourceGroupName, string name, string propertiesToInclude = default(string)) + public static Site Get(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetAsync(resourceGroupName, name, propertiesToInclude), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get details of a web app + /// Gets the details of a web, mobile, or API app. /// - /// Get details of a web app + /// + /// Gets the details of a web, mobile, or API app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Additional web app properties included in the response + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task GetAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string propertiesToInclude = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, name, propertiesToInclude, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// /// - /// Details of web app if it exists already + /// A JSON representation of the app properties. See example. /// /// /// If true web app hostname is not registered with DNS on creation. This @@ -223,24 +192,29 @@ public static IPage List(this IWebAppsOperations operations) /// public static Site CreateOrUpdate(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateAsync(resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateAsync(resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds).GetAwaiter().GetResult(); } /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// /// - /// Details of web app if it exists already + /// A JSON representation of the app properties. See example. /// /// /// If true web app hostname is not registered with DNS on creation. This @@ -269,130 +243,58 @@ public static IPage List(this IWebAppsOperations operations) } /// - /// Creates a new web app or modifies an existing web app. - /// - /// Creates a new web app or modifies an existing web app. - /// - /// The operations group for this extension method. - /// - /// - /// Name of the resource group - /// - /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already - /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS - /// - /// - /// Time to live in seconds for web app's default domain name - /// - public static Site BeginCreateOrUpdate(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string)) - { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginCreateOrUpdateAsync(resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Creates a new web app or modifies an existing web app. - /// - /// Creates a new web app or modifies an existing web app. - /// - /// The operations group for this extension method. - /// - /// - /// Name of the resource group - /// - /// - /// Name of the web app - /// - /// - /// Details of web app if it exists already - /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation - /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. - /// - /// - /// If true, web app hostname is force registered with DNS - /// - /// - /// Time to live in seconds for web app's default domain name - /// - /// - /// The cancellation token. - /// - public static async Task BeginCreateOrUpdateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Deletes a web app + /// Deletes a web, mobile, or API app, or one of the deployment slots. /// - /// Deletes a web app + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app to delete. /// /// /// If true, web app metrics are also deleted /// /// - /// If true and App Service Plan is empty after web app deletion, App Service - /// Plan is also deleted + /// Specify true if the App Service plan will be empty after app deletion and + /// you want to delete the empty App Service plan. By default, the empty App + /// Service plan is not deleted. /// /// /// If true, DNS registration is skipped /// - public static object Delete(this IWebAppsOperations operations, string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?)) + public static void Delete(this IWebAppsOperations operations, string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteAsync(resourceGroupName, name, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteAsync(resourceGroupName, name, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration).GetAwaiter().GetResult(); } /// - /// Deletes a web app + /// Deletes a web, mobile, or API app, or one of the deployment slots. /// - /// Deletes a web app + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app to delete. /// /// /// If true, web app metrics are also deleted /// /// - /// If true and App Service Plan is empty after web app deletion, App Service - /// Plan is also deleted + /// Specify true if the App Service plan will be empty after app deletion and + /// you want to delete the empty App Service plan. By default, the empty App + /// Service plan is not deleted. /// /// /// If true, DNS registration is skipped @@ -400,23 +302,22 @@ public static IPage List(this IWebAppsOperations operations) /// /// The cancellation token. /// - public static async Task DeleteAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration, null, cancellationToken).ConfigureAwait(false); } /// - /// Analyze a custom hostname + /// Analyze a custom hostname. /// - /// Analyze a custom hostname + /// + /// Analyze a custom hostname. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -426,18 +327,20 @@ public static IPage List(this IWebAppsOperations operations) /// public static CustomHostnameAnalysisResult AnalyzeCustomHostname(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).AnalyzeCustomHostnameAsync(resourceGroupName, name, hostName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.AnalyzeCustomHostnameAsync(resourceGroupName, name, hostName).GetAwaiter().GetResult(); } /// - /// Analyze a custom hostname + /// Analyze a custom hostname. /// - /// Analyze a custom hostname + /// + /// Analyze a custom hostname. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -458,94 +361,99 @@ public static IPage List(this IWebAppsOperations operations) /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. /// + /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name. Settings from that slot - /// will be applied on the source slot + /// JSON object that contains the target slot name. See example. /// - public static object ApplySlotConfigToProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) + public static void ApplySlotConfigToProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ApplySlotConfigToProductionAsync(resourceGroupName, name, slotSwapEntity), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ApplySlotConfigToProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult(); } /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. /// + /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name. Settings from that slot - /// will be applied on the source slot + /// JSON object that contains the target slot name. See example. /// /// /// The cancellation token. /// - public static async Task ApplySlotConfigToProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ApplySlotConfigToProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ApplySlotConfigToProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ApplySlotConfigToProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates web app backup + /// Creates a backup of an app. /// - /// Creates web app backup + /// + /// Creates a backup of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Backup configuration. You can use the JSON response from the POST action as + /// input here. /// public static BackupItem Backup(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BackupAsync(resourceGroupName, name, request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BackupAsync(resourceGroupName, name, request).GetAwaiter().GetResult(); } /// - /// Creates web app backup + /// Creates a backup of an app. /// - /// Creates web app backup + /// + /// Creates a backup of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Backup configuration. You can use the JSON response from the POST action as + /// input here. /// /// /// The cancellation token. @@ -559,35 +467,39 @@ public static BackupItem Backup(this IWebAppsOperations operations, string resou } /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static IPage ListBackups(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListBackupsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListBackupsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -601,41 +513,51 @@ public static IPage ListBackups(this IWebAppsOperations operations, } /// - /// Discovers existing web app backups that can be restored + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. /// - /// Discovers existing web app backups that can be restored + /// + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on restore request + /// A RestoreRequest object that includes Azure storage URL and blog name for + /// discovery of backup. /// public static RestoreRequest DiscoverRestore(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DiscoverRestoreAsync(resourceGroupName, name, request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.DiscoverRestoreAsync(resourceGroupName, name, request).GetAwaiter().GetResult(); } /// - /// Discovers existing web app backups that can be restored + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. /// - /// Discovers existing web app backups that can be restored + /// + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on restore request + /// A RestoreRequest object that includes Azure storage URL and blog name for + /// discovery of backup. /// /// /// The cancellation token. @@ -649,41 +571,45 @@ public static RestoreRequest DiscoverRestore(this IWebAppsOperations operations, } /// - /// Gets status of a web app backup that may be in progress. + /// Gets a backup of an app by its ID. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// public static BackupItem GetBackupStatus(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetBackupStatusAsync(resourceGroupName, name, backupId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetBackupStatusAsync(resourceGroupName, name, backupId).GetAwaiter().GetResult(); } /// - /// Gets status of a web app backup that may be in progress. + /// Gets a backup of an app by its ID. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// /// The cancellation token. @@ -697,68 +623,71 @@ public static BackupItem GetBackupStatus(this IWebAppsOperations operations, str } /// - /// Deletes a backup from Azure Storage + /// Deletes a backup of an app by its ID. /// - /// Deletes a backup from Azure Storage + /// + /// Deletes a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// - public static BackupItem DeleteBackup(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId) + public static void DeleteBackup(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteBackupAsync(resourceGroupName, name, backupId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteBackupAsync(resourceGroupName, name, backupId).GetAwaiter().GetResult(); } /// - /// Deletes a backup from Azure Storage + /// Deletes a backup of an app by its ID. /// - /// Deletes a backup from Azure Storage + /// + /// Deletes a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// /// The cancellation token. /// - public static async Task DeleteBackupAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteBackupAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteBackupWithHttpMessagesAsync(resourceGroupName, name, backupId, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteBackupWithHttpMessagesAsync(resourceGroupName, name, backupId, null, cancellationToken).ConfigureAwait(false); } /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. /// + /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -771,24 +700,26 @@ public static BackupItem DeleteBackup(this IWebAppsOperations operations, string /// public static BackupItem ListBackupStatusSecrets(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, BackupRequest request) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListBackupStatusSecretsAsync(resourceGroupName, name, backupId, request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListBackupStatusSecretsAsync(resourceGroupName, name, backupId, request).GetAwaiter().GetResult(); } /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. /// + /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -811,44 +742,52 @@ public static BackupItem ListBackupStatusSecrets(this IWebAppsOperations operati } /// - /// Restores a web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Restores a web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup to restore + /// ID of the backup. /// /// /// Information on restore request /// public static RestoreResponse Restore(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).RestoreAsync(resourceGroupName, name, backupId, request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.RestoreAsync(resourceGroupName, name, backupId, request).GetAwaiter().GetResult(); } /// - /// Restores a web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Restores a web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup to restore + /// ID of the backup. /// /// /// Information on restore request @@ -865,95 +804,45 @@ public static RestoreResponse Restore(this IWebAppsOperations operations, string } /// - /// Restores a web app - /// - /// Restores a web app - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request - /// - public static RestoreResponse BeginRestore(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request) - { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginRestoreAsync(resourceGroupName, name, backupId, request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Restores a web app - /// - /// Restores a web app - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Id of backup to restore - /// - /// - /// Information on restore request - /// - /// - /// The cancellation token. - /// - public static async Task BeginRestoreAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginRestoreWithHttpMessagesAsync(resourceGroupName, name, backupId, request, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Updates the application settings of web app + /// Replaces the application settings of an app. /// - /// Updates the application settings of web app + /// + /// Replaces the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Application settings of web app + /// Application settings of the app. /// public static StringDictionary UpdateApplicationSettings(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateApplicationSettingsAsync(resourceGroupName, name, appSettings), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateApplicationSettingsAsync(resourceGroupName, name, appSettings).GetAwaiter().GetResult(); } /// - /// Updates the application settings of web app + /// Replaces the application settings of an app. /// - /// Updates the application settings of web app + /// + /// Replaces the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Application settings of web app + /// Application settings of the app. /// /// /// The cancellation token. @@ -967,35 +856,39 @@ public static StringDictionary UpdateApplicationSettings(this IWebAppsOperations } /// - /// Gets the application settings of web app + /// Gets the application settings of an app. /// - /// Gets the application settings of web app + /// + /// Gets the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static StringDictionary ListApplicationSettings(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListApplicationSettingsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListApplicationSettingsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the application settings of web app + /// Gets the application settings of an app. /// - /// Gets the application settings of web app + /// + /// Gets the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -1009,14 +902,18 @@ public static StringDictionary ListApplicationSettings(this IWebAppsOperations o } /// - /// Updates the Authentication / Authorization settings associated with web app + /// Updates the Authentication / Authorization settings associated with web + /// app. /// - /// Updates the Authentication / Authorization settings associated with web app + /// + /// Updates the Authentication / Authorization settings associated with web + /// app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -1026,18 +923,22 @@ public static StringDictionary ListApplicationSettings(this IWebAppsOperations o /// public static SiteAuthSettings UpdateAuthSettings(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateAuthSettingsAsync(resourceGroupName, name, siteAuthSettings), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateAuthSettingsAsync(resourceGroupName, name, siteAuthSettings).GetAwaiter().GetResult(); } /// - /// Updates the Authentication / Authorization settings associated with web app + /// Updates the Authentication / Authorization settings associated with web + /// app. /// - /// Updates the Authentication / Authorization settings associated with web app + /// + /// Updates the Authentication / Authorization settings associated with web + /// app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -1057,83 +958,91 @@ public static SiteAuthSettings UpdateAuthSettings(this IWebAppsOperations operat } /// - /// Gets the Authentication / Authorization settings associated with web app + /// Gets the Authentication/Authorization settings of an app. /// - /// Gets the Authentication / Authorization settings associated with web app + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static SiteAuthSettings ListAuthSettings(this IWebAppsOperations operations, string resourceGroupName, string name) + public static SiteAuthSettings GetAuthSettings(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListAuthSettingsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAuthSettingsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the Authentication / Authorization settings associated with web app + /// Gets the Authentication/Authorization settings of an app. /// - /// Gets the Authentication / Authorization settings associated with web app + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task ListAuthSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetAuthSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListAuthSettingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetAuthSettingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates backup configuration of web app + /// Updates the backup configuration of an app. /// - /// Updates backup configuration of web app + /// + /// Updates the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Edited backup configuration. /// public static BackupRequest UpdateBackupConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateBackupConfigurationAsync(resourceGroupName, name, request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateBackupConfigurationAsync(resourceGroupName, name, request).GetAwaiter().GetResult(); } /// - /// Updates backup configuration of web app + /// Updates the backup configuration of an app. /// - /// Updates backup configuration of web app + /// + /// Updates the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Edited backup configuration. /// /// /// The cancellation token. @@ -1147,77 +1056,82 @@ public static BackupRequest UpdateBackupConfiguration(this IWebAppsOperations op } /// - /// Removes the backup configuration for a web app + /// Deletes the backup configuration of an app. /// - /// Removes the backup configuration for a web app + /// + /// Deletes the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static object DeleteBackupConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name) + public static void DeleteBackupConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteBackupConfigurationAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteBackupConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Removes the backup configuration for a web app + /// Deletes the backup configuration of an app. /// - /// Removes the backup configuration for a web app + /// + /// Deletes the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task DeleteBackupConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteBackupConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteBackupConfigurationWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteBackupConfigurationWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets the backup configuration for a web app + /// Gets the backup configuration of an app. /// - /// Gets the backup configuration for a web app + /// + /// Gets the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static BackupRequest GetBackupConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetBackupConfigurationAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetBackupConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the backup configuration for a web app + /// Gets the backup configuration of an app. /// - /// Gets the backup configuration for a web app + /// + /// Gets the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -1231,41 +1145,45 @@ public static BackupRequest GetBackupConfiguration(this IWebAppsOperations opera } /// - /// Updates the connection strings associated with web app + /// Replaces the connection strings of an app. /// - /// Updates the connection strings associated with web app + /// + /// Replaces the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Connection strings associated with web app + /// Connection strings of the app or deployment slot. See example. /// public static ConnectionStringDictionary UpdateConnectionStrings(this IWebAppsOperations operations, string resourceGroupName, string name, ConnectionStringDictionary connectionStrings) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateConnectionStringsAsync(resourceGroupName, name, connectionStrings), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateConnectionStringsAsync(resourceGroupName, name, connectionStrings).GetAwaiter().GetResult(); } /// - /// Updates the connection strings associated with web app + /// Replaces the connection strings of an app. /// - /// Updates the connection strings associated with web app + /// + /// Replaces the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Connection strings associated with web app + /// Connection strings of the app or deployment slot. See example. /// /// /// The cancellation token. @@ -1279,35 +1197,39 @@ public static ConnectionStringDictionary UpdateConnectionStrings(this IWebAppsOp } /// - /// Gets the connection strings associated with web app + /// Gets the connection strings of an app. /// - /// Gets the connection strings associated with web app + /// + /// Gets the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static ConnectionStringDictionary ListConnectionStrings(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListConnectionStringsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListConnectionStringsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the connection strings associated with web app + /// Gets the connection strings of an app. /// - /// Gets the connection strings associated with web app + /// + /// Gets the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -1321,35 +1243,39 @@ public static ConnectionStringDictionary ListConnectionStrings(this IWebAppsOper } /// - /// Gets the web app logs configuration + /// Gets the logging configuration of an app. /// - /// Gets the web app logs configuration + /// + /// Gets the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static SiteLogsConfig GetDiagnosticLogsConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetDiagnosticLogsConfigurationAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetDiagnosticLogsConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the web app logs configuration + /// Gets the logging configuration of an app. /// - /// Gets the web app logs configuration + /// + /// Gets the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -1363,41 +1289,47 @@ public static SiteLogsConfig GetDiagnosticLogsConfiguration(this IWebAppsOperati } /// - /// Updates the meta data for web app + /// Updates the logging configuration of an app. /// - /// Updates the meta data for web app + /// + /// Updates the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Site logs configuration + /// A SiteLogsConfig JSON object that contains the logging configuration to + /// change in the "properties" property. /// public static SiteLogsConfig UpdateDiagnosticLogsConfig(this IWebAppsOperations operations, string resourceGroupName, string name, SiteLogsConfig siteLogsConfig) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateDiagnosticLogsConfigAsync(resourceGroupName, name, siteLogsConfig), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateDiagnosticLogsConfigAsync(resourceGroupName, name, siteLogsConfig).GetAwaiter().GetResult(); } /// - /// Updates the meta data for web app + /// Updates the logging configuration of an app. /// - /// Updates the meta data for web app + /// + /// Updates the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Site logs configuration + /// A SiteLogsConfig JSON object that contains the logging configuration to + /// change in the "properties" property. /// /// /// The cancellation token. @@ -1411,41 +1343,45 @@ public static SiteLogsConfig UpdateDiagnosticLogsConfig(this IWebAppsOperations } /// - /// Updates the meta data for web app + /// Replaces the metadata of an app. /// - /// Updates the meta data for web app + /// + /// Replaces the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Meta data of web app + /// Edited metadata of the app or deployment slot. See example. /// public static StringDictionary UpdateMetadata(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary metadata) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateMetadataAsync(resourceGroupName, name, metadata), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateMetadataAsync(resourceGroupName, name, metadata).GetAwaiter().GetResult(); } /// - /// Updates the meta data for web app + /// Replaces the metadata of an app. /// - /// Updates the meta data for web app + /// + /// Replaces the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Meta data of web app + /// Edited metadata of the app or deployment slot. See example. /// /// /// The cancellation token. @@ -1459,35 +1395,39 @@ public static StringDictionary UpdateMetadata(this IWebAppsOperations operations } /// - /// Gets the web app meta data. + /// Gets the metadata of an app. /// - /// Gets the web app meta data. + /// + /// Gets the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static StringDictionary ListMetadata(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetadataAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetadataAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the web app meta data. + /// Gets the metadata of an app. /// - /// Gets the web app meta data. + /// + /// Gets the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -1501,35 +1441,39 @@ public static StringDictionary ListMetadata(this IWebAppsOperations operations, } /// - /// Gets the web app publishing credentials + /// Gets the Git/FTP publishing credentials of an app. /// - /// Gets the web app publishing credentials + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static User ListPublishingCredentials(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPublishingCredentialsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPublishingCredentialsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the web app publishing credentials + /// Gets the Git/FTP publishing credentials of an app. /// - /// Gets the web app publishing credentials + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -1543,225 +1487,197 @@ public static User ListPublishingCredentials(this IWebAppsOperations operations, } /// - /// Gets the web app publishing credentials + /// Updates the Push settings associated with web app. /// - /// Gets the web app publishing credentials + /// + /// Updates the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - public static User BeginListPublishingCredentials(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Push settings associated with web app + /// + public static PushSettings UpdateSitePushSettings(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginListPublishingCredentialsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateSitePushSettingsAsync(resourceGroupName, name, pushSettings).GetAwaiter().GetResult(); } /// - /// Gets the web app publishing credentials + /// Updates the Push settings associated with web app. /// - /// Gets the web app publishing credentials + /// + /// Updates the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Push settings associated with web app + /// /// /// The cancellation token. /// - public static async Task BeginListPublishingCredentialsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateSitePushSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginListPublishingCredentialsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateSitePushSettingsWithHttpMessagesAsync(resourceGroupName, name, pushSettings, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates the Push settings associated with web app + /// Gets the Push settings associated with web app. /// - /// Updates the Push settings associated with web app + /// + /// Gets the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Push settings associated with web app - /// - public static PushSettings UpdateSitePushSettings(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings) + public static PushSettings ListSitePushSettings(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateSitePushSettingsAsync(resourceGroupName, name, pushSettings), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSitePushSettingsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Updates the Push settings associated with web app + /// Gets the Push settings associated with web app. /// - /// Updates the Push settings associated with web app + /// + /// Gets the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Push settings associated with web app - /// /// /// The cancellation token. /// - public static async Task UpdateSitePushSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListSitePushSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateSitePushSettingsWithHttpMessagesAsync(resourceGroupName, name, pushSettings, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListSitePushSettingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the Push settings associated with web app + /// Gets the names of app settings and connection strings that stick to the + /// slot (not swapped). /// - /// Gets the Push settings associated with web app + /// + /// Gets the names of app settings and connection strings that stick to the + /// slot (not swapped). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static PushSettings ListSitePushSettings(this IWebAppsOperations operations, string resourceGroupName, string name) + public static SlotConfigNamesResource ListSlotConfigurationNames(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSitePushSettingsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSlotConfigurationNamesAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the Push settings associated with web app + /// Gets the names of app settings and connection strings that stick to the + /// slot (not swapped). /// - /// Gets the Push settings associated with web app + /// + /// Gets the names of app settings and connection strings that stick to the + /// slot (not swapped). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task ListSitePushSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListSlotConfigurationNamesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListSitePushSettingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListSlotConfigurationNamesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the names of application settings and connection string that remain - /// with the slot during swap operation + /// Updates the names of application settings and connection string that remain + /// with the slot during swap operation. /// - /// Gets the names of application settings and connection string that remain - /// with the slot during swap operation + /// + /// Updates the names of application settings and connection string that remain + /// with the slot during swap operation. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - public static SlotConfigNamesResource ListSlotConfigurationNames(this IWebAppsOperations operations, string resourceGroupName, string name) - { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSlotConfigurationNamesAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Gets the names of application settings and connection string that remain - /// with the slot during swap operation - /// - /// Gets the names of application settings and connection string that remain - /// with the slot during swap operation - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// The cancellation token. - /// - public static async Task ListSlotConfigurationNamesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.ListSlotConfigurationNamesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Updates the names of application settings and connection string that - /// remain with the slot during swap operation - /// - /// Updates the names of application settings and connection string that - /// remain with the slot during swap operation - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app + /// Name of the app. /// /// - /// Request body containing the names of application settings and connection - /// strings + /// Names of application settings and connection strings. See example. /// public static SlotConfigNamesResource UpdateSlotConfigurationNames(this IWebAppsOperations operations, string resourceGroupName, string name, SlotConfigNamesResource slotConfigNames) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateSlotConfigurationNamesAsync(resourceGroupName, name, slotConfigNames), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateSlotConfigurationNamesAsync(resourceGroupName, name, slotConfigNames).GetAwaiter().GetResult(); } /// - /// Updates the names of application settings and connection string that - /// remain with the slot during swap operation + /// Updates the names of application settings and connection string that remain + /// with the slot during swap operation. /// - /// Updates the names of application settings and connection string that - /// remain with the slot during swap operation + /// + /// Updates the names of application settings and connection string that remain + /// with the slot during swap operation. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body containing the names of application settings and connection - /// strings + /// Names of application settings and connection strings. See example. /// /// /// The cancellation token. @@ -1775,35 +1691,43 @@ public static SlotConfigNamesResource UpdateSlotConfigurationNames(this IWebApps } /// - /// Gets the configuration of the web app + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. /// - /// Gets the configuration of the web app + /// + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// public static SiteConfig GetConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetConfigurationAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the configuration of the web app + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. /// - /// Gets the configuration of the web app + /// + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. @@ -1817,41 +1741,45 @@ public static SiteConfig GetConfiguration(this IWebAppsOperations operations, st } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// public static SiteConfig CreateOrUpdateConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfig siteConfig) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateConfigurationAsync(resourceGroupName, name, siteConfig), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateConfigurationAsync(resourceGroupName, name, siteConfig).GetAwaiter().GetResult(); } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// /// /// The cancellation token. @@ -1865,41 +1793,45 @@ public static SiteConfig CreateOrUpdateConfiguration(this IWebAppsOperations ope } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// public static SiteConfig UpdateConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfig siteConfig) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateConfigurationAsync(resourceGroupName, name, siteConfig), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateConfigurationAsync(resourceGroupName, name, siteConfig).GetAwaiter().GetResult(); } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// /// /// The cancellation token. @@ -1913,2553 +1845,2897 @@ public static SiteConfig UpdateConfiguration(this IWebAppsOperations operations, } /// - /// List deployments + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. /// - /// List deployments + /// + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static IPage ListDeployments(this IWebAppsOperations operations, string resourceGroupName, string name) + public static IList ListConfigurationSnapshotInfo(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListDeploymentsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListConfigurationSnapshotInfoAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// List deployments + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. /// - /// List deployments + /// + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task> ListDeploymentsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListConfigurationSnapshotInfoAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListDeploymentsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListConfigurationSnapshotInfoWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get the deployment + /// Gets a snapshot of the configuration of an app at a previous point in time. /// - /// Get the deployment + /// + /// Gets a snapshot of the configuration of an app at a previous point in time. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// - public static Deployment GetDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id) + public static SiteConfig GetConfigurationSnapshot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetDeploymentAsync(resourceGroupName, name, id), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetConfigurationSnapshotAsync(resourceGroupName, name, snapshotId).GetAwaiter().GetResult(); } /// - /// Get the deployment + /// Gets a snapshot of the configuration of an app at a previous point in time. /// - /// Get the deployment + /// + /// Gets a snapshot of the configuration of an app at a previous point in time. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// /// /// The cancellation token. /// - public static async Task GetDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetConfigurationSnapshotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetConfigurationSnapshotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Create a deployment + /// Reverts the configuration of an app to a previous snapshot. /// - /// Create a deployment + /// + /// Reverts the configuration of an app to a previous snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment - /// - /// - /// Details of deployment + /// + /// The ID of the snapshot to read. /// - public static Deployment CreateDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, Deployment deployment) + public static void RecoverSiteConfigurationSnapshot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateDeploymentAsync(resourceGroupName, name, id, deployment), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RecoverSiteConfigurationSnapshotAsync(resourceGroupName, name, snapshotId).GetAwaiter().GetResult(); } /// - /// Create a deployment + /// Reverts the configuration of an app to a previous snapshot. /// - /// Create a deployment + /// + /// Reverts the configuration of an app to a previous snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// - /// - /// Details of deployment + /// + /// The ID of the snapshot to read. /// /// /// The cancellation token. /// - public static async Task CreateDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RecoverSiteConfigurationSnapshotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, deployment, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.RecoverSiteConfigurationSnapshotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, null, cancellationToken).ConfigureAwait(false); } /// - /// Delete the deployment + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Delete the deployment + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// - public static object DeleteDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id) + public static IPage ListDeployments(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteDeploymentAsync(resourceGroupName, name, id), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDeploymentsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Delete the deployment + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Delete the deployment + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task DeleteDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListDeploymentsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListDeploymentsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get web app hostname bindings + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app hostname bindings + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static IPage ListHostNameBindings(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Deployment ID. + /// + public static Deployment GetDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHostNameBindingsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetDeploymentAsync(resourceGroupName, name, id).GetAwaiter().GetResult(); } /// - /// Get web app hostname bindings + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app hostname bindings + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Deployment ID. /// /// /// The cancellation token. /// - public static async Task> ListHostNameBindingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHostNameBindingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get web app binding for a hostname + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app binding for a hostname + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of host + /// + /// ID of an existing deployment. /// - public static HostNameBinding GetHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName) + /// + /// Deployment details. + /// + public static Deployment CreateDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, Deployment deployment) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetHostNameBindingAsync(resourceGroupName, name, hostName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateDeploymentAsync(resourceGroupName, name, id, deployment).GetAwaiter().GetResult(); } /// - /// Get web app binding for a hostname + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app binding for a hostname + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of host + /// + /// ID of an existing deployment. + /// + /// + /// Deployment details. /// /// /// The cancellation token. /// - public static async Task GetHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, deployment, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a web app hostname binding + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Creates a web app hostname binding + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of host + /// Name of the app. /// - /// - /// Host name binding information + /// + /// Deployment ID. /// - public static HostNameBinding CreateOrUpdateHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding) + public static void DeleteDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateHostNameBindingAsync(resourceGroupName, name, hostName, hostNameBinding), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteDeploymentAsync(resourceGroupName, name, id).GetAwaiter().GetResult(); } /// - /// Creates a web app hostname binding + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Creates a web app hostname binding + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of host + /// Name of the app. /// - /// - /// Host name binding information + /// + /// Deployment ID. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, hostNameBinding, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, null, cancellationToken).ConfigureAwait(false); } /// - /// Deletes a host name binding + /// Lists ownership identifiers for domain associated with web app. /// - /// Deletes a host name binding + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of host + /// Name of the app. /// - public static object DeleteHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName) + public static IPage ListDomainOwnershipIdentifiers(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteHostNameBindingAsync(resourceGroupName, name, hostName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDomainOwnershipIdentifiersAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Deletes a host name binding + /// Lists ownership identifiers for domain associated with web app. /// - /// Deletes a host name binding + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of host + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task DeleteHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListDomainOwnershipIdentifiersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListDomainOwnershipIdentifiersWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// Get domain ownership identifier for web app. /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// + /// Get domain ownership identifier for web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - public static HybridConnection GetHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) + public static Identifier GetDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName).GetAwaiter().GetResult(); } /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// Get domain ownership identifier for web app. /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// + /// Get domain ownership identifier for web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// /// /// The cancellation token. /// - public static async Task GetHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// - public static HybridConnection CreateOrUpdateHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope) + public static Identifier CreateOrUpdateDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier).GetAwaiter().GetResult(); } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Removes a Hybrid Connection from this site. + /// Deletes a domain ownership identifier for a web app. /// - /// Removes a Hybrid Connection from this site. + /// + /// Deletes a domain ownership identifier for a web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - public static object DeleteHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) + public static void DeleteDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName).GetAwaiter().GetResult(); } /// - /// Removes a Hybrid Connection from this site. + /// Deletes a domain ownership identifier for a web app. /// - /// Removes a Hybrid Connection from this site. + /// + /// Deletes a domain ownership identifier for a web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// /// /// The cancellation token. /// - public static async Task DeleteHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// - public static HybridConnection UpdateHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope) + public static Identifier UpdateDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier).GetAwaiter().GetResult(); } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// /// /// The cancellation token. /// - public static async Task UpdateHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the send key name and value for a Hybrid Connection + /// Get hostname bindings for an app or a deployment slot. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection - /// - public static object ListHybridConnectionKeys(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) + public static IPage ListHostNameBindings(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHybridConnectionKeysAsync(resourceGroupName, name, namespaceName, relayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHostNameBindingsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the send key name and value for a Hybrid Connection + /// Get hostname bindings for an app or a deployment slot. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task ListHybridConnectionKeysAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListHostNameBindingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHybridConnectionKeysWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListHostNameBindingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - public static HybridConnection ListHybridConnections(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Hostname in the hostname binding. + /// + public static HostNameBinding GetHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHybridConnectionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetHostNameBindingAsync(resourceGroupName, name, hostName).GetAwaiter().GetResult(); } /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Hostname in the hostname binding. /// /// /// The cancellation token. /// - public static async Task ListHybridConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHybridConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// Creates a hostname binding for an app. /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// + /// Creates a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - public static RelayServiceConnectionEntity ListRelayServiceConnections(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Hostname in the hostname binding. + /// + /// + /// Binding details. This is the JSON representation of a HostNameBinding + /// object. + /// + public static HostNameBinding CreateOrUpdateHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListRelayServiceConnectionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateHostNameBindingAsync(resourceGroupName, name, hostName, hostNameBinding).GetAwaiter().GetResult(); } /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// Creates a hostname binding for an app. /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// + /// Creates a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Hostname in the hostname binding. + /// + /// + /// Binding details. This is the JSON representation of a HostNameBinding + /// object. /// /// /// The cancellation token. /// - public static async Task ListRelayServiceConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListRelayServiceConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, hostNameBinding, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// Deletes a hostname binding for an app. /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// + /// Deletes a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// Hostname in the hostname binding. /// - public static RelayServiceConnectionEntity GetRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName) + public static void DeleteHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetRelayServiceConnectionAsync(resourceGroupName, name, entityName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteHostNameBindingAsync(resourceGroupName, name, hostName).GetAwaiter().GetResult(); } /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// Deletes a hostname binding for an app. /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// + /// Deletes a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// Hostname in the hostname binding. /// /// /// The cancellation token. /// - public static async Task GetRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// - public static RelayServiceConnectionEntity CreateOrUpdateRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope) + public static HybridConnection GetHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateRelayServiceConnectionAsync(resourceGroupName, name, entityName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult(); } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection /// - public static object DeleteRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName) + public static HybridConnection CreateOrUpdateHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteRelayServiceConnectionAsync(resourceGroupName, name, entityName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection /// /// /// The cancellation token. /// - public static async Task DeleteRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Removes a Hybrid Connection from this site. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Removes a Hybrid Connection from this site. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// - public static RelayServiceConnectionEntity UpdateRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope) + public static void DeleteHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateRelayServiceConnectionAsync(resourceGroupName, name, entityName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult(); } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Removes a Hybrid Connection from this site. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Removes a Hybrid Connection from this site. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// /// /// The cancellation token. /// - public static async Task UpdateRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets all instance of a web app + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Gets all instance of a web app + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - public static IPage ListInstanceIdentifiers(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection + /// + public static HybridConnection UpdateHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceIdentifiersAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Gets all instance of a web app + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Gets all instance of a web app + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection /// /// /// The cancellation token. /// - public static async Task> ListInstanceIdentifiersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListInstanceIdentifiersWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// List deployments + /// Gets the send key name and value for a Hybrid Connection. /// - /// List deployments + /// + /// Gets the send key name and value for a Hybrid Connection. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// Id of web app instance + /// + /// The namespace for this hybrid connection /// - public static IPage ListInstanceDeployments(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId) + /// + /// The relay name for this hybrid connection + /// + public static HybridConnectionKey ListHybridConnectionKeys(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceDeploymentsAsync(resourceGroupName, name, instanceId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHybridConnectionKeysAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult(); } /// - /// List deployments + /// Gets the send key name and value for a Hybrid Connection. /// - /// List deployments + /// + /// Gets the send key name and value for a Hybrid Connection. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// Id of web app instance + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection /// /// /// The cancellation token. /// - public static async Task> ListInstanceDeploymentsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListHybridConnectionKeysAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListInstanceDeploymentsWithHttpMessagesAsync(resourceGroupName, name, instanceId, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListHybridConnectionKeysWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get the deployment + /// Retrieves all Service Bus Hybrid Connections used by this Web App. /// - /// Get the deployment + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment - /// - /// - /// Id of web app instance + /// The name of the web app /// - public static Deployment GetInstanceDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId) + public static HybridConnection ListHybridConnections(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetInstanceDeploymentAsync(resourceGroupName, name, id, instanceId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHybridConnectionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Get the deployment + /// Retrieves all Service Bus Hybrid Connections used by this Web App. /// - /// Get the deployment + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment - /// - /// - /// Id of web app instance + /// The name of the web app /// /// /// The cancellation token. /// - public static async Task GetInstanceDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListHybridConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetInstanceDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, instanceId, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListHybridConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Create a deployment + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). /// - /// Create a deployment + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// - /// - /// Id of web app instance - /// - /// - /// Details of deployment - /// - public static Deployment CreateInstanceDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, Deployment deployment) + public static RelayServiceConnectionEntity ListRelayServiceConnections(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateInstanceDeploymentAsync(resourceGroupName, name, id, instanceId, deployment), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListRelayServiceConnectionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Create a deployment + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). /// - /// Create a deployment + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment - /// - /// - /// Id of web app instance - /// - /// - /// Details of deployment + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task CreateInstanceDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListRelayServiceConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateInstanceDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, instanceId, deployment, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListRelayServiceConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Delete the deployment + /// Gets a hybrid connection configuration by its name. /// - /// Delete the deployment + /// + /// Gets a hybrid connection configuration by its name. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// - /// - /// Id of web app instance + /// + /// Name of the hybrid connection. /// - public static object DeleteInstanceDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId) + public static RelayServiceConnectionEntity GetRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteInstanceDeploymentAsync(resourceGroupName, name, id, instanceId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetRelayServiceConnectionAsync(resourceGroupName, name, entityName).GetAwaiter().GetResult(); } /// - /// Delete the deployment + /// Gets a hybrid connection configuration by its name. /// - /// Delete the deployment + /// + /// Gets a hybrid connection configuration by its name. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment - /// - /// - /// Id of web app instance + /// + /// Name of the hybrid connection. /// /// /// The cancellation token. /// - public static async Task DeleteInstanceDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteInstanceDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, instanceId, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of the app. /// - public static SiteCloneability IsCloneable(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Details of the hybrid connection configuration. + /// + public static RelayServiceConnectionEntity CreateOrUpdateRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).IsCloneableAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateRelayServiceConnectionAsync(resourceGroupName, name, entityName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Details of the hybrid connection configuration. /// /// /// The cancellation token. /// - public static async Task IsCloneableAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.IsCloneableWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets metric definitions for web app + /// Deletes a relay service connection by its name. /// - /// Gets metric definitions for web app + /// + /// Deletes a relay service connection by its name. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. /// - public static IPage ListMetricDefinitions(this IWebAppsOperations operations, string resourceGroupName, string name) + public static void DeleteRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricDefinitionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteRelayServiceConnectionAsync(resourceGroupName, name, entityName).GetAwaiter().GetResult(); } /// - /// Gets metric definitions for web app + /// Deletes a relay service connection by its name. /// - /// Gets metric definitions for web app + /// + /// Deletes a relay service connection by its name. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. /// /// /// The cancellation token. /// - public static async Task> ListMetricDefinitionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListMetricDefinitionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets metrics for web app + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). /// - /// Gets metrics for web app + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// If true, metric details are included in response + /// + /// Name of the hybrid connection configuration. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Details of the hybrid connection configuration. /// - public static IPage ListMetrics(this IWebAppsOperations operations, string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string)) + public static RelayServiceConnectionEntity UpdateRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricsAsync(resourceGroupName, name, details, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateRelayServiceConnectionAsync(resourceGroupName, name, entityName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Gets metrics for web app + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). /// - /// Gets metrics for web app + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// If true, metric details are included in response + /// + /// Name of the hybrid connection configuration. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Details of the hybrid connection configuration. /// /// /// The cancellation token. /// - public static async Task> ListMetricsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListMetricsWithHttpMessagesAsync(resourceGroupName, name, details, filter, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Restores a web app + /// Gets all scale-out instances of an app. /// - /// Restores a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The operations group for this extension method. /// - /// - /// Azure subscription - /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Migration options - /// - public static StorageMigrationResponse MigrateStorage(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options) + public static IPage ListInstanceIdentifiers(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).MigrateStorageAsync(subscriptionName, resourceGroupName, name, options), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListInstanceIdentifiersAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Restores a web app + /// Gets all scale-out instances of an app. /// - /// Restores a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The operations group for this extension method. /// - /// - /// Azure subscription - /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Migration options + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task MigrateStorageAsync(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListInstanceIdentifiersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.MigrateStorageWithHttpMessagesAsync(subscriptionName, resourceGroupName, name, options, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListInstanceIdentifiersWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Restores a web app + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Restores a web app + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// - /// - /// Azure subscription - /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Migration options + /// + /// The ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// - public static StorageMigrationResponse BeginMigrateStorage(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options) + public static IPage ListInstanceDeployments(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginMigrateStorageAsync(subscriptionName, resourceGroupName, name, options), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListInstanceDeploymentsAsync(resourceGroupName, name, instanceId).GetAwaiter().GetResult(); } /// - /// Restores a web app + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Restores a web app + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// - /// - /// Azure subscription - /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Migration options + /// + /// The ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// The cancellation token. /// - public static async Task BeginMigrateStorageAsync(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions options, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListInstanceDeploymentsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginMigrateStorageWithHttpMessagesAsync(subscriptionName, resourceGroupName, name, options, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListInstanceDeploymentsWithHttpMessagesAsync(resourceGroupName, name, instanceId, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// MySql migration options + /// + /// Deployment ID. /// - public static Operation MigrateMySql(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope) + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + public static Deployment GetInstanceDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).MigrateMySqlAsync(resourceGroupName, name, migrationRequestEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetInstanceDeploymentAsync(resourceGroupName, name, id, instanceId).GetAwaiter().GetResult(); } /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// MySql migration options + /// + /// Deployment ID. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// The cancellation token. /// - public static async Task MigrateMySqlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetInstanceDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.MigrateMySqlWithHttpMessagesAsync(resourceGroupName, name, migrationRequestEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetInstanceDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, instanceId, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// MySql migration options + /// + /// ID of an existing deployment. /// - public static Operation BeginMigrateMySql(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope) + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// Deployment details. + /// + public static Deployment CreateInstanceDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, Deployment deployment) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginMigrateMySqlAsync(resourceGroupName, name, migrationRequestEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateInstanceDeploymentAsync(resourceGroupName, name, id, instanceId, deployment).GetAwaiter().GetResult(); } /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Migrates a local (in-app) MySql database to a remote MySql database + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// MySql migration options + /// + /// ID of an existing deployment. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// Deployment details. /// /// /// The cancellation token. /// - public static async Task BeginMigrateMySqlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateInstanceDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginMigrateMySqlWithHttpMessagesAsync(resourceGroupName, name, migrationRequestEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateInstanceDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, instanceId, deployment, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a view of all network features in use on this web app. + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Retrieves a view of all network features in use on this web app. + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The type of view. This can either be "summary" or "detailed". + /// + /// Deployment ID. /// - public static NetworkFeatures ListNetworkFeatures(this IWebAppsOperations operations, string resourceGroupName, string name, string view) + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + public static void DeleteInstanceDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListNetworkFeaturesAsync(resourceGroupName, name, view), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteInstanceDeploymentAsync(resourceGroupName, name, id, instanceId).GetAwaiter().GetResult(); } /// - /// Retrieves a view of all network features in use on this web app. + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Retrieves a view of all network features in use on this web app. + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The type of view. This can either be "summary" or "detailed". + /// + /// Deployment ID. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" /// /// /// The cancellation token. /// - public static async Task ListNetworkFeaturesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string view, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteInstanceDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListNetworkFeaturesWithHttpMessagesAsync(resourceGroupName, name, view, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteInstanceDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, instanceId, null, cancellationToken).ConfigureAwait(false); } /// - /// Start capturing network packets for the site + /// Shows whether an app can be cloned to another resource group or + /// subscription. /// - /// Start capturing network packets for the site + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The duration to keep capturing in seconds + /// Name of the app. /// - public static string StartWebSiteNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?)) + public static SiteCloneability IsCloneable(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StartWebSiteNetworkTraceAsync(resourceGroupName, name, durationInSeconds), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.IsCloneableAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Start capturing network packets for the site + /// Shows whether an app can be cloned to another resource group or + /// subscription. /// - /// Start capturing network packets for the site + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The duration to keep capturing in seconds + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task StartWebSiteNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task IsCloneableAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StartWebSiteNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, durationInSeconds, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.IsCloneableWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Stop ongoing capturing network packets for the site + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Stop ongoing capturing network packets for the site + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - public static string StopWebSiteNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name) + public static IPage ListMetricDefinitions(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StopWebSiteNetworkTraceAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricDefinitionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Stop ongoing capturing network packets for the site + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Stop ongoing capturing network packets for the site + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task StopWebSiteNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMetricDefinitionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StopWebSiteNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListMetricDefinitionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Generates new random app publishing password + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Generates new random app publishing password + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Specify "true" to include metric details in the response. It is "false" by + /// default. + /// + /// + /// Return only metrics specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// - public static object GenerateNewSitePublishingPassword(this IWebAppsOperations operations, string resourceGroupName, string name) + public static IPage ListMetrics(this IWebAppsOperations operations, string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GenerateNewSitePublishingPasswordAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsAsync(resourceGroupName, name, details, filter).GetAwaiter().GetResult(); } /// - /// Generates new random app publishing password + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Generates new random app publishing password + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Specify "true" to include metric details in the response. It is "false" by + /// default. + /// + /// + /// Return only metrics specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// The cancellation token. /// - public static async Task GenerateNewSitePublishingPasswordAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMetricsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? details = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GenerateNewSitePublishingPasswordWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListMetricsWithHttpMessagesAsync(resourceGroupName, name, details, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the operation for a web app + /// Restores a web app. /// - /// Gets the operation for a web app + /// + /// Restores a web app. + /// /// /// The operations group for this extension method. /// + /// + /// Azure subscription + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Id of an operation + /// + /// Migration migrationOptions /// - public static object GetOperation(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId) + public static StorageMigrationResponse MigrateStorage(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetOperationAsync(resourceGroupName, name, operationId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.MigrateStorageAsync(subscriptionName, resourceGroupName, name, migrationOptions).GetAwaiter().GetResult(); } /// - /// Gets the operation for a web app + /// Restores a web app. /// - /// Gets the operation for a web app + /// + /// Restores a web app. + /// /// /// The operations group for this extension method. /// + /// + /// Azure subscription + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Id of an operation + /// + /// Migration migrationOptions /// /// /// The cancellation token. /// - public static async Task GetOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task MigrateStorageAsync(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetOperationWithHttpMessagesAsync(resourceGroupName, name, operationId, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.MigrateStorageWithHttpMessagesAsync(subscriptionName, resourceGroupName, name, migrationOptions, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets perfmon counters for web app + /// Migrates a local (in-app) MySql database to a remote MySql database. /// - /// Gets perfmon counters for web app + /// + /// Migrates a local (in-app) MySql database to a remote MySql database. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and - /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq - /// duration'[Hour|Minute|Day]'. + /// + /// MySql migration options /// - public static IPage ListPerfMonCounters(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string)) + public static Operation MigrateMySql(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPerfMonCountersAsync(resourceGroupName, name, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.MigrateMySqlAsync(resourceGroupName, name, migrationRequestEnvelope).GetAwaiter().GetResult(); } /// - /// Gets perfmon counters for web app + /// Migrates a local (in-app) MySql database to a remote MySql database. /// - /// Gets perfmon counters for web app + /// + /// Migrates a local (in-app) MySql database to a remote MySql database. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and - /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq - /// duration'[Hour|Minute|Day]'. + /// + /// MySql migration options /// /// /// The cancellation token. /// - public static async Task> ListPerfMonCountersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task MigrateMySqlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListPerfMonCountersWithHttpMessagesAsync(resourceGroupName, name, filter, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.MigrateMySqlWithHttpMessagesAsync(resourceGroupName, name, migrationRequestEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets sites's event logs + /// Gets all network features used by the app (or deployment slot, if + /// specified). /// - /// Gets sites's event logs + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static IList GetSitePhpErrorLogFlag(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// The type of view. This can either be "summary" or "detailed". + /// + public static NetworkFeatures ListNetworkFeatures(this IWebAppsOperations operations, string resourceGroupName, string name, string view) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSitePhpErrorLogFlagAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNetworkFeaturesAsync(resourceGroupName, name, view).GetAwaiter().GetResult(); } /// - /// Gets sites's event logs + /// Gets all network features used by the app (or deployment slot, if + /// specified). /// - /// Gets sites's event logs + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// The type of view. This can either be "summary" or "detailed". /// /// /// The cancellation token. /// - public static async Task> GetSitePhpErrorLogFlagAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListNetworkFeaturesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string view, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSitePhpErrorLogFlagWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListNetworkFeaturesWithHttpMessagesAsync(resourceGroupName, name, view, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// List premier add ons for web app + /// Start capturing network packets for the site. /// - /// List premier add ons for web app + /// + /// Start capturing network packets for the site. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// The name of the web app /// - public static object ListPremierAddOns(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// The duration to keep capturing in seconds + /// + public static string StartWebSiteNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPremierAddOnsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.StartWebSiteNetworkTraceAsync(resourceGroupName, name, durationInSeconds).GetAwaiter().GetResult(); } /// - /// List premier add ons for web app + /// Start capturing network packets for the site. /// - /// List premier add ons for web app + /// + /// Start capturing network packets for the site. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// The name of the web app + /// + /// + /// The duration to keep capturing in seconds /// /// /// The cancellation token. /// - public static async Task ListPremierAddOnsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task StartWebSiteNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListPremierAddOnsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.StartWebSiteNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, durationInSeconds, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets a specific premier add on + /// Stop ongoing capturing network packets for the site. /// - /// Gets a specific premier add on + /// + /// Stop ongoing capturing network packets for the site. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on + /// The name of the web app /// - public static object GetPremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName) + public static string StopWebSiteNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetPremierAddOnAsync(resourceGroupName, name, premierAddOnName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.StopWebSiteNetworkTraceAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets a specific premier add on + /// Stop ongoing capturing network packets for the site. /// - /// Gets a specific premier add on + /// + /// Stop ongoing capturing network packets for the site. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on + /// The name of the web app /// /// /// The cancellation token. /// - public static async Task GetPremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task StopWebSiteNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetPremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.StopWebSiteNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Add premier add-on + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). /// - /// Add premier add-on + /// + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on - /// - /// - /// Premier add on request + /// Name of the app. /// - public static object AddPremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn) + public static void GenerateNewSitePublishingPassword(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).AddPremierAddOnAsync(resourceGroupName, name, premierAddOnName, premierAddOn), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.GenerateNewSitePublishingPasswordAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Add premier add-on + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). /// - /// Add premier add-on + /// + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on - /// - /// - /// Premier add on request + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task AddPremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GenerateNewSitePublishingPasswordAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.AddPremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.GenerateNewSitePublishingPasswordWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Delete premier add-on + /// Gets perfmon counters for web app. /// - /// Delete premier add-on + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of web app /// - /// - /// Premier add on + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and + /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// - public static object DeletePremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName) + public static IPage ListPerfMonCounters(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeletePremierAddOnAsync(resourceGroupName, name, premierAddOnName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPerfMonCountersAsync(resourceGroupName, name, filter).GetAwaiter().GetResult(); } /// - /// Delete premier add-on + /// Gets perfmon counters for web app. /// - /// Delete premier add-on + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of web app /// - /// - /// Premier add on + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and + /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The cancellation token. /// - public static async Task DeletePremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListPerfMonCountersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeletePremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListPerfMonCountersWithHttpMessagesAsync(resourceGroupName, name, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the publishing profile for web app + /// Gets web app's event logs. /// - /// Gets the publishing profile for web app + /// + /// Gets web app's event logs. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP format. - /// - public static System.IO.Stream ListPublishingProfileXmlWithSecrets(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions options) + public static SitePhpErrorLogFlag GetSitePhpErrorLogFlag(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPublishingProfileXmlWithSecretsAsync(resourceGroupName, name, options), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSitePhpErrorLogFlagAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the publishing profile for web app + /// Gets web app's event logs. /// - /// Gets the publishing profile for web app + /// + /// Gets web app's event logs. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP format. - /// /// /// The cancellation token. /// - public static async Task ListPublishingProfileXmlWithSecretsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions options, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetSitePhpErrorLogFlagAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - var _result = await operations.ListPublishingProfileXmlWithSecretsWithHttpMessagesAsync(resourceGroupName, name, options, null, cancellationToken).ConfigureAwait(false); - _result.Request.Dispose(); - return _result.Body; + using (var _result = await operations.GetSitePhpErrorLogFlagWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } } /// - /// Recovers a deleted web app + /// Gets the premier add-ons of an app. /// - /// Recovers a deleted web app + /// + /// Gets the premier add-ons of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the app. /// - public static RecoverResponse Recover(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity) + public static PremierAddOn ListPremierAddOns(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).RecoverAsync(resourceGroupName, name, recoveryEntity), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPremierAddOnsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Recovers a deleted web app + /// Gets the premier add-ons of an app. /// - /// Recovers a deleted web app + /// + /// Gets the premier add-ons of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task RecoverAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListPremierAddOnsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RecoverWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListPremierAddOnsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Recovers a deleted web app + /// Gets a named add-on of an app. /// - /// Recovers a deleted web app + /// + /// Gets a named add-on of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// Add-on name. /// - public static RecoverResponse BeginRecover(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity) + public static PremierAddOn GetPremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginRecoverAsync(resourceGroupName, name, recoveryEntity), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetPremierAddOnAsync(resourceGroupName, name, premierAddOnName).GetAwaiter().GetResult(); } /// - /// Recovers a deleted web app + /// Gets a named add-on of an app. /// - /// Recovers a deleted web app + /// + /// Gets a named add-on of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// Add-on name. /// /// /// The cancellation token. /// - public static async Task BeginRecoverAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetPremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginRecoverWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetPremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// Updates a named add-on of an app. /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// + /// Updates a named add-on of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Add-on name. + /// + /// + /// A JSON representation of the edited premier add-on. /// - public static object ResetProductionSlotConfig(this IWebAppsOperations operations, string resourceGroupName, string name) + public static PremierAddOn AddPremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ResetProductionSlotConfigAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.AddPremierAddOnAsync(resourceGroupName, name, premierAddOnName, premierAddOn).GetAwaiter().GetResult(); } /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// Updates a named add-on of an app. /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// + /// Updates a named add-on of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Add-on name. + /// + /// + /// A JSON representation of the edited premier add-on. /// /// /// The cancellation token. /// - public static async Task ResetProductionSlotConfigAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task AddPremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ResetProductionSlotConfigWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.AddPremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Restarts web app + /// Delete a premier add-on from an app. /// - /// Restarts web app + /// + /// Delete a premier add-on from an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Soft restart applies the configuration settings and restarts the app if - /// necessary. Hard restart always restarts and reprovisions the app + /// Name of the app. /// - /// - /// If true then the API will block until the app has been restarted + /// + /// Add-on name. /// - public static object Restart(this IWebAppsOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?)) + public static void DeletePremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).RestartAsync(resourceGroupName, name, softRestart, synchronous), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeletePremierAddOnAsync(resourceGroupName, name, premierAddOnName).GetAwaiter().GetResult(); } /// - /// Restarts web app + /// Delete a premier add-on from an app. /// - /// Restarts web app + /// + /// Delete a premier add-on from an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Soft restart applies the configuration settings and restarts the app if - /// necessary. Hard restart always restarts and reprovisions the app + /// Name of the app. /// - /// - /// If true then the API will block until the app has been restarted + /// + /// Add-on name. /// /// /// The cancellation token. /// - public static async Task RestartAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeletePremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RestartWithHttpMessagesAsync(resourceGroupName, name, softRestart, synchronous, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeletePremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets all the slots for a web apps + /// Gets the publishing profile for an app (or deployment slot, if specified). /// - /// Gets all the slots for a web apps + /// + /// Gets the publishing profile for an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// List of app properties to include in the response + /// + /// Specifies publishingProfileOptions for publishing profile. For example, use + /// {"format": "FileZilla3"} to get a FileZilla publishing profile. /// - public static IPage ListSlots(this IWebAppsOperations operations, string resourceGroupName, string name, string propertiesToInclude = default(string)) + public static Stream ListPublishingProfileXmlWithSecrets(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSlotsAsync(resourceGroupName, name, propertiesToInclude), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPublishingProfileXmlWithSecretsAsync(resourceGroupName, name, publishingProfileOptions).GetAwaiter().GetResult(); } /// - /// Gets all the slots for a web apps + /// Gets the publishing profile for an app (or deployment slot, if specified). /// - /// Gets all the slots for a web apps + /// + /// Gets the publishing profile for an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// List of app properties to include in the response + /// + /// Specifies publishingProfileOptions for publishing profile. For example, use + /// {"format": "FileZilla3"} to get a FileZilla publishing profile. /// /// /// The cancellation token. /// - public static async Task> ListSlotsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string propertiesToInclude = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListPublishingProfileXmlWithSecretsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListSlotsWithHttpMessagesAsync(resourceGroupName, name, propertiesToInclude, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + var _result = await operations.ListPublishingProfileXmlWithSecretsWithHttpMessagesAsync(resourceGroupName, name, publishingProfileOptions, null, cancellationToken).ConfigureAwait(false); + _result.Request.Dispose(); + return _result.Body; } /// - /// Get details of a web app + /// Recovers a deleted web app. /// - /// Get details of a web app + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Additional web app properties included in the response + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. /// - public static Site GetSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string propertiesToInclude = default(string)) + public static RecoverResponse Recover(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSlotAsync(resourceGroupName, name, slot, propertiesToInclude), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.RecoverAsync(resourceGroupName, name, recoveryEntity).GetAwaiter().GetResult(); } /// - /// Get details of a web app + /// Recovers a deleted web app. /// - /// Get details of a web app + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Additional web app properties included in the response + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. /// /// /// The cancellation token. /// - public static async Task GetSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string propertiesToInclude = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RecoverAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSlotWithHttpMessagesAsync(resourceGroupName, name, slot, propertiesToInclude, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.RecoverWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new web app or modifies an existing web app. + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of the app. /// - /// - /// Details of web app if it exists already + public static void ResetProductionSlotConfig(this IWebAppsOperations operations, string resourceGroupName, string name) + { + operations.ResetProductionSlotConfigAsync(resourceGroupName, name).GetAwaiter().GetResult(); + } + + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// + /// + /// The operations group for this extension method. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// Name of the resource group to which the resource belongs. /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation + /// + /// Name of the app. /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. + /// + /// The cancellation token. /// - /// - /// If true, web app hostname is force registered with DNS + public static async Task ResetProductionSlotConfigAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.ResetProductionSlotConfigWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Restarts an app (or deployment slot, if specified). + /// + /// + /// Restarts an app (or deployment slot, if specified). + /// + /// + /// The operations group for this extension method. /// - /// - /// Time to live in seconds for web app's default domain name + /// + /// Name of the resource group to which the resource belongs. /// - public static Site CreateOrUpdateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string)) + /// + /// Name of the app. + /// + /// + /// Specify true to apply the configuration settings and restarts the app only + /// if necessary. By default, the API always restarts and reprovisions the app. + /// + /// + /// Specify true to block until the app is restarted. By default, it is set to + /// false, and the API responds immediately (asynchronous). + /// + public static void Restart(this IWebAppsOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateSlotAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RestartAsync(resourceGroupName, name, softRestart, synchronous).GetAwaiter().GetResult(); } /// - /// Creates a new web app or modifies an existing web app. + /// Restarts an app (or deployment slot, if specified). /// - /// Creates a new web app or modifies an existing web app. + /// + /// Restarts an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of the app. /// - /// - /// Details of web app if it exists already + /// + /// Specify true to apply the configuration settings and restarts the app only + /// if necessary. By default, the API always restarts and reprovisions the app. + /// + /// + /// Specify true to block until the app is restarted. By default, it is set to + /// false, and the API responds immediately (asynchronous). + /// + /// + /// The cancellation token. + /// + public static async Task RestartAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.RestartWithHttpMessagesAsync(resourceGroupName, name, softRestart, synchronous, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Gets an app's deployment slots. + /// + /// + /// Gets an app's deployment slots. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + public static IPage ListSlots(this IWebAppsOperations operations, string resourceGroupName, string name) + { + return operations.ListSlotsAsync(resourceGroupName, name).GetAwaiter().GetResult(); + } + + /// + /// Gets an app's deployment slots. + /// + /// + /// Gets an app's deployment slots. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// The cancellation token. + /// + public static async Task> ListSlotsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListSlotsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Gets the details of a web, mobile, or API app. + /// + /// + /// Gets the details of a web, mobile, or API app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production + /// Name of the deployment slot. By default, this API returns the production /// slot. /// - /// - /// If true web app hostname is not registered with DNS on creation. This - /// parameter is - /// only used for app creation + public static Site GetSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + { + return operations.GetSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); + } + + /// + /// Gets the details of a web, mobile, or API app. + /// + /// + /// Gets the details of a web, mobile, or API app. + /// + /// + /// The operations group for this extension method. /// - /// - /// If true, custom (non *.azurewebsites.net) domains associated with web app - /// are not verified. + /// + /// Name of the resource group to which the resource belongs. /// - /// - /// If true, web app hostname is force registered with DNS + /// + /// Name of the app. /// - /// - /// Time to live in seconds for web app's default domain name + /// + /// Name of the deployment slot. By default, this API returns the production + /// slot. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// /// - /// Details of web app if it exists already + /// A JSON representation of the app properties. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot to create or update. By default, this API + /// attempts to create or modify the production slot. /// /// /// If true web app hostname is not registered with DNS on creation. This @@ -4476,30 +4752,35 @@ public static object ResetProductionSlotConfig(this IWebAppsOperations operation /// /// Time to live in seconds for web app's default domain name /// - public static Site BeginCreateOrUpdateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string)) + public static Site CreateOrUpdateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginCreateOrUpdateSlotAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateSlotAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds).GetAwaiter().GetResult(); } /// - /// Creates a new web app or modifies an existing web app. + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// /// - /// Details of web app if it exists already + /// A JSON representation of the app properties. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot to create or update. By default, this API + /// attempts to create or modify the production slot. /// /// /// If true web app hostname is not registered with DNS on creation. This @@ -4519,69 +4800,75 @@ public static object ResetProductionSlotConfig(this IWebAppsOperations operation /// /// The cancellation token. /// - public static async Task BeginCreateOrUpdateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginCreateOrUpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Deletes a web app + /// Deletes a web, mobile, or API app, or one of the deployment slots. /// - /// Deletes a web app + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app to delete. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot to delete. By default, the API deletes the + /// production slot. /// /// /// If true, web app metrics are also deleted /// /// - /// If true and App Service Plan is empty after web app deletion, App Service - /// Plan is also deleted + /// Specify true if the App Service plan will be empty after app deletion and + /// you want to delete the empty App Service plan. By default, the empty App + /// Service plan is not deleted. /// /// /// If true, DNS registration is skipped /// - public static object DeleteSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?)) + public static void DeleteSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteSlotAsync(resourceGroupName, name, slot, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteSlotAsync(resourceGroupName, name, slot, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration).GetAwaiter().GetResult(); } /// - /// Deletes a web app + /// Deletes a web, mobile, or API app, or one of the deployment slots. /// - /// Deletes a web app + /// + /// Deletes a web, mobile, or API app, or one of the deployment slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app to delete. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot to delete. By default, the API deletes the + /// production slot. /// /// /// If true, web app metrics are also deleted /// /// - /// If true and App Service Plan is empty after web app deletion, App Service - /// Plan is also deleted + /// Specify true if the App Service plan will be empty after app deletion and + /// you want to delete the empty App Service plan. By default, the empty App + /// Service plan is not deleted. /// /// /// If true, DNS registration is skipped @@ -4589,23 +4876,22 @@ public static object ResetProductionSlotConfig(this IWebAppsOperations operation /// /// The cancellation token. /// - public static async Task DeleteSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), bool? skipDnsRegistration = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteSlotWithHttpMessagesAsync(resourceGroupName, name, slot, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteSlotWithHttpMessagesAsync(resourceGroupName, name, slot, deleteMetrics, deleteEmptyServerFarm, skipDnsRegistration, null, cancellationToken).ConfigureAwait(false); } /// - /// Analyze a custom hostname + /// Analyze a custom hostname. /// - /// Analyze a custom hostname + /// + /// Analyze a custom hostname. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -4619,18 +4905,20 @@ public static object ResetProductionSlotConfig(this IWebAppsOperations operation /// public static CustomHostnameAnalysisResult AnalyzeCustomHostnameSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).AnalyzeCustomHostnameSlotAsync(resourceGroupName, name, slot, hostName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.AnalyzeCustomHostnameSlotAsync(resourceGroupName, name, slot, hostName).GetAwaiter().GetResult(); } /// - /// Analyze a custom hostname + /// Analyze a custom hostname. /// - /// Analyze a custom hostname + /// + /// Analyze a custom hostname. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -4655,110 +4943,115 @@ public static object ResetProductionSlotConfig(this IWebAppsOperations operation /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. /// + /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name. Settings from that slot - /// will be applied on the source slot + /// JSON object that contains the target slot name. See example. /// /// - /// Name of the source slot. Settings from the target slot will be applied - /// onto this slot + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// - public static object ApplySlotConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) + public static void ApplySlotConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ApplySlotConfigurationSlotAsync(resourceGroupName, name, slotSwapEntity, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ApplySlotConfigurationSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult(); } /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. /// + /// /// Applies the configuration settings from the target slot onto the current - /// slot + /// slot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the target slot name. Settings from that slot - /// will be applied on the source slot + /// JSON object that contains the target slot name. See example. /// /// - /// Name of the source slot. Settings from the target slot will be applied - /// onto this slot + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// /// /// The cancellation token. /// - public static async Task ApplySlotConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ApplySlotConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ApplySlotConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ApplySlotConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates web app backup + /// Creates a backup of an app. /// - /// Creates web app backup + /// + /// Creates a backup of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Backup configuration. You can use the JSON response from the POST action as + /// input here. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// create a backup for the production slot. /// public static BackupItem BackupSlot(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BackupSlotAsync(resourceGroupName, name, request, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BackupSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult(); } /// - /// Creates web app backup + /// Creates a backup of an app. /// - /// Creates web app backup + /// + /// Creates a backup of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Backup configuration. You can use the JSON response from the POST action as + /// input here. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// create a backup for the production slot. /// /// /// The cancellation token. @@ -4772,43 +5065,47 @@ public static BackupItem BackupSlot(this IWebAppsOperations operations, string r } /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// backups of the production slot. /// public static IPage ListBackupsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListBackupsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListBackupsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// backups of the production slot. /// /// /// The cancellation token. @@ -4822,49 +5119,59 @@ public static IPage ListBackupsSlot(this IWebAppsOperations operatio } /// - /// Discovers existing web app backups that can be restored + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. /// - /// Discovers existing web app backups that can be restored + /// + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on restore request + /// A RestoreRequest object that includes Azure storage URL and blog name for + /// discovery of backup. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// perform discovery for the production slot. /// public static RestoreRequest DiscoverRestoreSlot(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DiscoverRestoreSlotAsync(resourceGroupName, name, request, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.DiscoverRestoreSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult(); } /// - /// Discovers existing web app backups that can be restored + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. /// - /// Discovers existing web app backups that can be restored + /// + /// Discovers an existing app backup that can be restored from a blob in Azure + /// storage. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on restore request + /// A RestoreRequest object that includes Azure storage URL and blog name for + /// discovery of backup. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// perform discovery for the production slot. /// /// /// The cancellation token. @@ -4878,49 +5185,53 @@ public static RestoreRequest DiscoverRestoreSlot(this IWebAppsOperations operati } /// - /// Gets status of a web app backup that may be in progress. + /// Gets a backup of an app by its ID. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// backup of the production slot. /// public static BackupItem GetBackupStatusSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetBackupStatusSlotAsync(resourceGroupName, name, backupId, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetBackupStatusSlotAsync(resourceGroupName, name, backupId, slot).GetAwaiter().GetResult(); } /// - /// Gets status of a web app backup that may be in progress. + /// Gets a backup of an app by its ID. /// - /// Gets status of a web app backup that may be in progress. + /// + /// Gets a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// backup of the production slot. /// /// /// The cancellation token. @@ -4934,76 +5245,79 @@ public static BackupItem GetBackupStatusSlot(this IWebAppsOperations operations, } /// - /// Deletes a backup from Azure Storage + /// Deletes a backup of an app by its ID. /// - /// Deletes a backup from Azure Storage + /// + /// Deletes a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete a backup of the production slot. /// - public static BackupItem DeleteBackupSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot) + public static void DeleteBackupSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteBackupSlotAsync(resourceGroupName, name, backupId, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteBackupSlotAsync(resourceGroupName, name, backupId, slot).GetAwaiter().GetResult(); } /// - /// Deletes a backup from Azure Storage + /// Deletes a backup of an app by its ID. /// - /// Deletes a backup from Azure Storage + /// + /// Deletes a backup of an app by its ID. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup + /// ID of the backup. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete a backup of the production slot. /// /// /// The cancellation token. /// - public static async Task DeleteBackupSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteBackupSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteBackupSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteBackupSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, slot, null, cancellationToken).ConfigureAwait(false); } /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. /// + /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -5020,24 +5334,26 @@ public static BackupItem DeleteBackupSlot(this IWebAppsOperations operations, st /// public static BackupItem ListBackupStatusSecretsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, BackupRequest request, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListBackupStatusSecretsSlotAsync(resourceGroupName, name, backupId, request, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListBackupStatusSecretsSlotAsync(resourceGroupName, name, backupId, request, slot).GetAwaiter().GetResult(); } /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. /// + /// /// Gets status of a web app backup that may be in progress, including secrets - /// associated with the backup, such as the Azure Storage SAS URL. Also can - /// be used to update the SAS URL for the backup if a new URL is passed in - /// the request body. + /// associated with the backup, such as the Azure Storage SAS URL. Also can be + /// used to update the SAS URL for the backup if a new URL is passed in the + /// request body. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -5064,55 +5380,63 @@ public static BackupItem ListBackupStatusSecretsSlot(this IWebAppsOperations ope } /// - /// Restores a web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Restores a web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup to restore + /// ID of the backup. /// /// /// Information on restore request /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// restore a backup of the production slot. /// public static RestoreResponse RestoreSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).RestoreSlotAsync(resourceGroupName, name, backupId, request, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.RestoreSlotAsync(resourceGroupName, name, backupId, request, slot).GetAwaiter().GetResult(); } /// - /// Restores a web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Restores a web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Id of backup to restore + /// ID of the backup. /// /// /// Information on restore request /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// restore a backup of the production slot. /// /// /// The cancellation token. @@ -5126,158 +5450,168 @@ public static RestoreResponse RestoreSlot(this IWebAppsOperations operations, st } /// - /// Restores a web app + /// Replaces the application settings of an app. /// - /// Restores a web app + /// + /// Replaces the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of backup to restore + /// Name of the app. /// - /// - /// Information on restore request + /// + /// Application settings of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the application settings for the production slot. /// - public static RestoreResponse BeginRestoreSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot) + public static StringDictionary UpdateApplicationSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginRestoreSlotAsync(resourceGroupName, name, backupId, request, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateApplicationSettingsSlotAsync(resourceGroupName, name, appSettings, slot).GetAwaiter().GetResult(); } /// - /// Restores a web app + /// Replaces the application settings of an app. /// - /// Restores a web app + /// + /// Replaces the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of backup to restore + /// Name of the app. /// - /// - /// Information on restore request + /// + /// Application settings of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the application settings for the production slot. /// /// /// The cancellation token. /// - public static async Task BeginRestoreSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateApplicationSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginRestoreSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, request, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateApplicationSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, appSettings, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates the application settings of web app + /// Gets the application settings of an app. /// - /// Updates the application settings of web app + /// + /// Gets the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Application settings of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the application settings for the production slot. /// - public static StringDictionary UpdateApplicationSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings, string slot) + public static StringDictionary ListApplicationSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateApplicationSettingsSlotAsync(resourceGroupName, name, appSettings, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListApplicationSettingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Updates the application settings of web app + /// Gets the application settings of an app. /// - /// Updates the application settings of web app + /// + /// Gets the application settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Application settings of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the application settings for the production slot. /// /// /// The cancellation token. /// - public static async Task UpdateApplicationSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListApplicationSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateApplicationSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, appSettings, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListApplicationSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the application settings of web app + /// Updates the Authentication / Authorization settings associated with web + /// app. /// - /// Gets the application settings of web app + /// + /// Updates the Authentication / Authorization settings associated with web + /// app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Auth settings associated with web app + /// /// /// Name of web app slot. If not specified then will default to production /// slot. /// - public static StringDictionary ListApplicationSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static SiteAuthSettings UpdateAuthSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListApplicationSettingsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateAuthSettingsSlotAsync(resourceGroupName, name, siteAuthSettings, slot).GetAwaiter().GetResult(); } /// - /// Gets the application settings of web app + /// Updates the Authentication / Authorization settings associated with web + /// app. /// - /// Gets the application settings of web app + /// + /// Updates the Authentication / Authorization settings associated with web + /// app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Auth settings associated with web app + /// /// /// Name of web app slot. If not specified then will default to production /// slot. @@ -5285,164 +5619,116 @@ public static StringDictionary ListApplicationSettingsSlot(this IWebAppsOperatio /// /// The cancellation token. /// - public static async Task ListApplicationSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateAuthSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListApplicationSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateAuthSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, siteAuthSettings, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates the Authentication / Authorization settings associated with web app + /// Gets the Authentication/Authorization settings of an app. /// - /// Updates the Authentication / Authorization settings associated with web app + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Auth settings associated with web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the settings for the production slot. /// - public static SiteAuthSettings UpdateAuthSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot) + public static SiteAuthSettings GetAuthSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateAuthSettingsSlotAsync(resourceGroupName, name, siteAuthSettings, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetAuthSettingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Updates the Authentication / Authorization settings associated with web app + /// Gets the Authentication/Authorization settings of an app. /// - /// Updates the Authentication / Authorization settings associated with web app + /// + /// Gets the Authentication/Authorization settings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Auth settings associated with web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// The cancellation token. - /// - public static async Task UpdateAuthSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.UpdateAuthSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, siteAuthSettings, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Gets the Authentication / Authorization settings associated with web app - /// - /// Gets the Authentication / Authorization settings associated with web app - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - public static SiteAuthSettings ListAuthSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) - { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListAuthSettingsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Gets the Authentication / Authorization settings associated with web app - /// - /// Gets the Authentication / Authorization settings associated with web app - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the settings for the production slot. /// /// /// The cancellation token. /// - public static async Task ListAuthSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetAuthSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListAuthSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetAuthSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates backup configuration of web app + /// Updates the backup configuration of an app. /// - /// Updates backup configuration of web app + /// + /// Updates the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Edited backup configuration. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the backup configuration for the production slot. /// public static BackupRequest UpdateBackupConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateBackupConfigurationSlotAsync(resourceGroupName, name, request, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateBackupConfigurationSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult(); } /// - /// Updates backup configuration of web app + /// Updates the backup configuration of an app. /// - /// Updates backup configuration of web app + /// + /// Updates the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Information on backup request + /// Edited backup configuration. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the backup configuration for the production slot. /// /// /// The cancellation token. @@ -5456,93 +5742,98 @@ public static BackupRequest UpdateBackupConfigurationSlot(this IWebAppsOperation } /// - /// Removes the backup configuration for a web app + /// Deletes the backup configuration of an app. /// - /// Removes the backup configuration for a web app + /// + /// Deletes the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the backup configuration for the production slot. /// - public static object DeleteBackupConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static void DeleteBackupConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteBackupConfigurationSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteBackupConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Removes the backup configuration for a web app + /// Deletes the backup configuration of an app. /// - /// Removes the backup configuration for a web app + /// + /// Deletes the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the backup configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task DeleteBackupConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteBackupConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteBackupConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteBackupConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets the backup configuration for a web app + /// Gets the backup configuration of an app. /// - /// Gets the backup configuration for a web app + /// + /// Gets the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the backup configuration for the production slot. /// public static BackupRequest GetBackupConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetBackupConfigurationSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetBackupConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the backup configuration for a web app + /// Gets the backup configuration of an app. /// - /// Gets the backup configuration for a web app + /// + /// Gets the backup configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the backup configuration for the production slot. /// /// /// The cancellation token. @@ -5556,49 +5847,53 @@ public static BackupRequest GetBackupConfigurationSlot(this IWebAppsOperations o } /// - /// Updates the connection strings associated with web app + /// Replaces the connection strings of an app. /// - /// Updates the connection strings associated with web app + /// + /// Replaces the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Connection strings associated with web app + /// Connection strings of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the connection settings for the production slot. /// public static ConnectionStringDictionary UpdateConnectionStringsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateConnectionStringsSlotAsync(resourceGroupName, name, connectionStrings, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateConnectionStringsSlotAsync(resourceGroupName, name, connectionStrings, slot).GetAwaiter().GetResult(); } /// - /// Updates the connection strings associated with web app + /// Replaces the connection strings of an app. /// - /// Updates the connection strings associated with web app + /// + /// Replaces the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Connection strings associated with web app + /// Connection strings of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the connection settings for the production slot. /// /// /// The cancellation token. @@ -5612,43 +5907,47 @@ public static ConnectionStringDictionary UpdateConnectionStringsSlot(this IWebAp } /// - /// Gets the connection strings associated with web app + /// Gets the connection strings of an app. /// - /// Gets the connection strings associated with web app + /// + /// Gets the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the connection settings for the production slot. /// public static ConnectionStringDictionary ListConnectionStringsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListConnectionStringsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListConnectionStringsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the connection strings associated with web app + /// Gets the connection strings of an app. /// - /// Gets the connection strings associated with web app + /// + /// Gets the connection strings of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the connection settings for the production slot. /// /// /// The cancellation token. @@ -5662,43 +5961,47 @@ public static ConnectionStringDictionary ListConnectionStringsSlot(this IWebApps } /// - /// Gets the web app logs configuration + /// Gets the logging configuration of an app. /// - /// Gets the web app logs configuration + /// + /// Gets the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the logging configuration for the production slot. /// public static SiteLogsConfig GetDiagnosticLogsConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetDiagnosticLogsConfigurationSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetDiagnosticLogsConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the web app logs configuration + /// Gets the logging configuration of an app. /// - /// Gets the web app logs configuration + /// + /// Gets the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the logging configuration for the production slot. /// /// /// The cancellation token. @@ -5712,49 +6015,55 @@ public static SiteLogsConfig GetDiagnosticLogsConfigurationSlot(this IWebAppsOpe } /// - /// Updates the meta data for web app + /// Updates the logging configuration of an app. /// - /// Updates the meta data for web app + /// + /// Updates the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Site logs configuration + /// A SiteLogsConfig JSON object that contains the logging configuration to + /// change in the "properties" property. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the logging configuration for the production slot. /// public static SiteLogsConfig UpdateDiagnosticLogsConfigSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateDiagnosticLogsConfigSlotAsync(resourceGroupName, name, siteLogsConfig, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateDiagnosticLogsConfigSlotAsync(resourceGroupName, name, siteLogsConfig, slot).GetAwaiter().GetResult(); } /// - /// Updates the meta data for web app + /// Updates the logging configuration of an app. /// - /// Updates the meta data for web app + /// + /// Updates the logging configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Site logs configuration + /// A SiteLogsConfig JSON object that contains the logging configuration to + /// change in the "properties" property. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the logging configuration for the production slot. /// /// /// The cancellation token. @@ -5768,49 +6077,53 @@ public static SiteLogsConfig UpdateDiagnosticLogsConfigSlot(this IWebAppsOperati } /// - /// Updates the meta data for web app + /// Replaces the metadata of an app. /// - /// Updates the meta data for web app + /// + /// Replaces the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Meta data of web app + /// Edited metadata of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the metadata for the production slot. /// public static StringDictionary UpdateMetadataSlot(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary metadata, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateMetadataSlotAsync(resourceGroupName, name, metadata, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateMetadataSlotAsync(resourceGroupName, name, metadata, slot).GetAwaiter().GetResult(); } /// - /// Updates the meta data for web app + /// Replaces the metadata of an app. /// - /// Updates the meta data for web app + /// + /// Replaces the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Meta data of web app + /// Edited metadata of the app or deployment slot. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the metadata for the production slot. /// /// /// The cancellation token. @@ -5824,43 +6137,47 @@ public static StringDictionary UpdateMetadataSlot(this IWebAppsOperations operat } /// - /// Gets the web app meta data. + /// Gets the metadata of an app. /// - /// Gets the web app meta data. + /// + /// Gets the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the metadata for the production slot. /// public static StringDictionary ListMetadataSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetadataSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetadataSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the web app meta data. + /// Gets the metadata of an app. /// - /// Gets the web app meta data. + /// + /// Gets the metadata of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the metadata for the production slot. /// /// /// The cancellation token. @@ -5874,43 +6191,47 @@ public static StringDictionary ListMetadataSlot(this IWebAppsOperations operatio } /// - /// Gets the web app publishing credentials + /// Gets the Git/FTP publishing credentials of an app. /// - /// Gets the web app publishing credentials + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing credentials for the production slot. /// public static User ListPublishingCredentialsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPublishingCredentialsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPublishingCredentialsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the web app publishing credentials + /// Gets the Git/FTP publishing credentials of an app. /// - /// Gets the web app publishing credentials + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing credentials for the production slot. /// /// /// The cancellation token. @@ -5924,64 +6245,16 @@ public static User ListPublishingCredentialsSlot(this IWebAppsOperations operati } /// - /// Gets the web app publishing credentials - /// - /// Gets the web app publishing credentials - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - public static User BeginListPublishingCredentialsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) - { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginListPublishingCredentialsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Gets the web app publishing credentials - /// - /// Gets the web app publishing credentials - /// - /// The operations group for this extension method. - /// - /// - /// Name of resource group - /// - /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// The cancellation token. - /// - public static async Task BeginListPublishingCredentialsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.BeginListPublishingCredentialsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Updates the Push settings associated with web app + /// Updates the Push settings associated with web app. /// - /// Updates the Push settings associated with web app + /// + /// Updates the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -5995,18 +6268,20 @@ public static User BeginListPublishingCredentialsSlot(this IWebAppsOperations op /// public static PushSettings UpdateSitePushSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateSitePushSettingsSlotAsync(resourceGroupName, name, pushSettings, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateSitePushSettingsSlotAsync(resourceGroupName, name, pushSettings, slot).GetAwaiter().GetResult(); } /// - /// Updates the Push settings associated with web app + /// Updates the Push settings associated with web app. /// - /// Updates the Push settings associated with web app + /// + /// Updates the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -6030,14 +6305,16 @@ public static PushSettings UpdateSitePushSettingsSlot(this IWebAppsOperations op } /// - /// Gets the Push settings associated with web app + /// Gets the Push settings associated with web app. /// - /// Gets the Push settings associated with web app + /// + /// Gets the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -6048,18 +6325,20 @@ public static PushSettings UpdateSitePushSettingsSlot(this IWebAppsOperations op /// public static PushSettings ListSitePushSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSitePushSettingsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSitePushSettingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the Push settings associated with web app + /// Gets the Push settings associated with web app. /// - /// Gets the Push settings associated with web app + /// + /// Gets the Push settings associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -6080,43 +6359,51 @@ public static PushSettings ListSitePushSettingsSlot(this IWebAppsOperations oper } /// - /// Gets the configuration of the web app + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. /// - /// Gets the configuration of the web app + /// + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// public static SiteConfig GetConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetConfigurationSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the configuration of the web app + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. /// - /// Gets the configuration of the web app + /// + /// Gets the configuration of an app, such as platform version and bitness, + /// default documents, virtual applications, Always On, etc. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// /// /// The cancellation token. @@ -6130,49 +6417,53 @@ public static SiteConfig GetConfigurationSlot(this IWebAppsOperations operations } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update configuration for the production slot. /// public static SiteConfig CreateOrUpdateConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfig siteConfig, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateConfigurationSlotAsync(resourceGroupName, name, siteConfig, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateConfigurationSlotAsync(resourceGroupName, name, siteConfig, slot).GetAwaiter().GetResult(); } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update configuration for the production slot. /// /// /// The cancellation token. @@ -6186,49 +6477,53 @@ public static SiteConfig CreateOrUpdateConfigurationSlot(this IWebAppsOperations } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update configuration for the production slot. /// public static SiteConfig UpdateConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfig siteConfig, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateConfigurationSlotAsync(resourceGroupName, name, siteConfig, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateConfigurationSlotAsync(resourceGroupName, name, siteConfig, slot).GetAwaiter().GetResult(); } /// - /// Update the configuration of web app + /// Updates the configuration of an app. /// - /// Update the configuration of web app + /// + /// Updates the configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Request body that contains the configuraiton setting for the web app + /// JSON representation of a SiteConfig object. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update configuration for the production slot. /// /// /// The cancellation token. @@ -6242,964 +6537,1036 @@ public static SiteConfig UpdateConfigurationSlot(this IWebAppsOperations operati } /// - /// List deployments + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. /// - /// List deployments + /// + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// - public static IPage ListDeploymentsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static IList ListConfigurationSnapshotInfoSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListDeploymentsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListConfigurationSnapshotInfoSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// List deployments + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. /// - /// List deployments + /// + /// Gets a list of web app configuration snapshots identifiers. Each element of + /// the list contains a timestamp and the ID of the snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task> ListDeploymentsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListConfigurationSnapshotInfoSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListDeploymentsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListConfigurationSnapshotInfoSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get the deployment + /// Gets a snapshot of the configuration of an app at a previous point in time. /// - /// Get the deployment + /// + /// Gets a snapshot of the configuration of an app at a previous point in time. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// - public static Deployment GetDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot) + public static SiteConfig GetConfigurationSnapshotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetDeploymentSlotAsync(resourceGroupName, name, id, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetConfigurationSnapshotSlotAsync(resourceGroupName, name, snapshotId, slot).GetAwaiter().GetResult(); } /// - /// Get the deployment + /// Gets a snapshot of the configuration of an app at a previous point in time. /// - /// Get the deployment + /// + /// Gets a snapshot of the configuration of an app at a previous point in time. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task GetDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetConfigurationSnapshotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetConfigurationSnapshotSlotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Create a deployment + /// Reverts the configuration of an app to a previous snapshot. /// - /// Create a deployment + /// + /// Reverts the configuration of an app to a previous snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Details of deployment + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// - public static Deployment CreateDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, Deployment deployment) + public static void RecoverSiteConfigurationSnapshotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateDeploymentSlotAsync(resourceGroupName, name, id, slot, deployment), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RecoverSiteConfigurationSnapshotSlotAsync(resourceGroupName, name, snapshotId, slot).GetAwaiter().GetResult(); } /// - /// Create a deployment + /// Reverts the configuration of an app to a previous snapshot. /// - /// Create a deployment + /// + /// Reverts the configuration of an app to a previous snapshot. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The ID of the snapshot to read. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Details of deployment + /// Name of the deployment slot. If a slot is not specified, the API will + /// return configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task CreateDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RecoverSiteConfigurationSnapshotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, deployment, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.RecoverSiteConfigurationSnapshotSlotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Delete the deployment + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Delete the deployment + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API returns + /// deployments for the production slot. /// - public static object DeleteDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot) + public static IPage ListDeploymentsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteDeploymentSlotAsync(resourceGroupName, name, id, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDeploymentsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Delete the deployment + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Delete the deployment + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API returns + /// deployments for the production slot. /// /// /// The cancellation token. /// - public static async Task DeleteDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListDeploymentsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListDeploymentsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get web app hostname bindings + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app hostname bindings + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API gets a + /// deployment for the production slot. /// - public static IPage ListHostNameBindingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static Deployment GetDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHostNameBindingsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetDeploymentSlotAsync(resourceGroupName, name, id, slot).GetAwaiter().GetResult(); } /// - /// Get web app hostname bindings + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app hostname bindings + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API gets a + /// deployment for the production slot. /// /// /// The cancellation token. /// - public static async Task> ListHostNameBindingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHostNameBindingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get web app binding for a hostname + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app binding for a hostname + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// ID of an existing deployment. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API creates a + /// deployment for the production slot. /// - /// - /// Name of host + /// + /// Deployment details. /// - public static HostNameBinding GetHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName) + public static Deployment CreateDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, Deployment deployment) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetHostNameBindingSlotAsync(resourceGroupName, name, slot, hostName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateDeploymentSlotAsync(resourceGroupName, name, id, slot, deployment).GetAwaiter().GetResult(); } /// - /// Get web app binding for a hostname + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. /// - /// Get web app binding for a hostname + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// ID of an existing deployment. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API creates a + /// deployment for the production slot. /// - /// - /// Name of host + /// + /// Deployment details. /// /// /// The cancellation token. /// - public static async Task GetHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, slot, hostName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, deployment, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a web app hostname binding + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Creates a web app hostname binding + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of host + /// Name of the app. /// - /// - /// Host name binding information + /// + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API deletes a + /// deployment for the production slot. /// - public static HostNameBinding CreateOrUpdateHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot) + public static void DeleteDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateHostNameBindingSlotAsync(resourceGroupName, name, hostName, hostNameBinding, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteDeploymentSlotAsync(resourceGroupName, name, id, slot).GetAwaiter().GetResult(); } /// - /// Creates a web app hostname binding + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. /// - /// Creates a web app hostname binding + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of host + /// Name of the app. /// - /// - /// Host name binding information + /// + /// Deployment ID. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API deletes a + /// deployment for the production slot. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, hostName, hostNameBinding, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Deletes a host name binding + /// Lists ownership identifiers for domain associated with web app. /// - /// Deletes a host name binding + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Name of host + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// - public static object DeleteHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName) + public static IPage ListDomainOwnershipIdentifiersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteHostNameBindingSlotAsync(resourceGroupName, name, slot, hostName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDomainOwnershipIdentifiersSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Deletes a host name binding + /// Lists ownership identifiers for domain associated with web app. /// - /// Deletes a host name binding + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Name of host + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// The cancellation token. /// - public static async Task DeleteHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListDomainOwnershipIdentifiersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, slot, hostName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListDomainOwnershipIdentifiersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// Get domain ownership identifier for web app. /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// + /// Get domain ownership identifier for web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// - public static HybridConnection GetHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot) + public static Identifier GetDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot).GetAwaiter().GetResult(); } /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// Get domain ownership identifier for web app. /// - /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// + /// Get domain ownership identifier for web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// The cancellation token. /// - public static async Task GetHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// - public static HybridConnection CreateOrUpdateHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot) + public static Identifier CreateOrUpdateDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot).GetAwaiter().GetResult(); } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Removes a Hybrid Connection from this site. + /// Deletes a domain ownership identifier for a web app. /// - /// Removes a Hybrid Connection from this site. + /// + /// Deletes a domain ownership identifier for a web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// - public static object DeleteHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot) + public static void DeleteDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot).GetAwaiter().GetResult(); } /// - /// Removes a Hybrid Connection from this site. + /// Deletes a domain ownership identifier for a web app. /// - /// Removes a Hybrid Connection from this site. + /// + /// Deletes a domain ownership identifier for a web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// The cancellation token. /// - public static async Task DeleteHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// - public static HybridConnection UpdateHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot) + public static Identifier UpdateDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot).GetAwaiter().GetResult(); } /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. /// - /// Creates a new Hybrid Connection using a Service Bus relay + /// + /// Creates a domain ownership identifier for web app, or updates an existing + /// ownership identifier. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection + /// Name of the app. /// - /// - /// The relay name for this hybrid connection + /// + /// Name of domain ownership identifier. /// - /// - /// The details of the hybrid connection + /// + /// A JSON representation of the domain ownership properties. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// /// /// The cancellation token. /// - public static async Task UpdateHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the send key name and value for a Hybrid Connection + /// Get hostname bindings for an app or a deployment slot. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API gets + /// hostname bindings for the production slot. /// - public static object ListHybridConnectionKeysSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot) + public static IPage ListHostNameBindingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHybridConnectionKeysSlotAsync(resourceGroupName, name, namespaceName, relayName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHostNameBindingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the send key name and value for a Hybrid Connection + /// Get hostname bindings for an app or a deployment slot. /// - /// Gets the send key name and value for a Hybrid Connection + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The namespace for this hybrid connection - /// - /// - /// The relay name for this hybrid connection + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API gets + /// hostname bindings for the production slot. /// /// /// The cancellation token. /// - public static async Task ListHybridConnectionKeysSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListHostNameBindingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHybridConnectionKeysSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListHostNameBindingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API the named + /// binding for the production slot. /// - public static HybridConnection ListHybridConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + /// + /// Hostname in the hostname binding. + /// + public static HostNameBinding GetHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHybridConnectionsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetHostNameBindingSlotAsync(resourceGroupName, name, slot, hostName).GetAwaiter().GetResult(); } /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). /// - /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// Get the named hostname binding for an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API the named + /// binding for the production slot. + /// + /// + /// Hostname in the hostname binding. /// /// /// The cancellation token. /// - public static async Task ListHybridConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListHybridConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, slot, hostName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// Creates a hostname binding for an app. /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// + /// Creates a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Hostname in the hostname binding. + /// + /// + /// Binding details. This is the JSON representation of a HostNameBinding + /// object. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// create a binding for the production slot. /// - public static RelayServiceConnectionEntity ListRelayServiceConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static HostNameBinding CreateOrUpdateHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListRelayServiceConnectionsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateHostNameBindingSlotAsync(resourceGroupName, name, hostName, hostNameBinding, slot).GetAwaiter().GetResult(); } /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// Creates a hostname binding for an app. /// - /// Retrieves all Biztalk Hybrid Connections associated with this web app. + /// + /// Creates a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Hostname in the hostname binding. + /// + /// + /// Binding details. This is the JSON representation of a HostNameBinding + /// object. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// create a binding for the production slot. /// /// /// The cancellation token. /// - public static async Task ListRelayServiceConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListRelayServiceConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, hostName, hostNameBinding, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// Deletes a hostname binding for an app. /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// + /// Deletes a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name by which the Hybrid Connection is identified + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. /// - public static RelayServiceConnectionEntity GetRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot) + /// + /// Hostname in the hostname binding. + /// + public static void DeleteHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteHostNameBindingSlotAsync(resourceGroupName, name, slot, hostName).GetAwaiter().GetResult(); } /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// Deletes a hostname binding for an app. /// - /// Retrieves a Biztalk Hybrid Connection identified by its entity name. + /// + /// Deletes a hostname binding for an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name by which the Hybrid Connection is identified + /// Name of the app. /// /// - /// The name of the slot for the web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the binding for the production slot. + /// + /// + /// Hostname in the hostname binding. /// /// /// The cancellation token. /// - public static async Task GetRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, slot, hostName, null, cancellationToken).ConfigureAwait(false); } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// /// /// The name of the slot for the web app. /// - public static RelayServiceConnectionEntity CreateOrUpdateRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot) + public static HybridConnection GetHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, slot).GetAwaiter().GetResult(); } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Retrieves a specific Service Bus Hybrid Connection used by this Web App. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// /// /// The name of the slot for the web app. @@ -7207,57 +7574,69 @@ public static RelayServiceConnectionEntity CreateOrUpdateRelayServiceConnectionS /// /// The cancellation token. /// - public static async Task CreateOrUpdateRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection /// /// /// The name of the slot for the web app. /// - public static object DeleteRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot) + public static HybridConnection CreateOrUpdateHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot).GetAwaiter().GetResult(); } /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Removes the association to a Biztalk Hybrid Connection, identified by its - /// entity name. + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection /// /// /// The name of the slot for the web app. @@ -7265,63 +7644,63 @@ public static object DeleteRelayServiceConnectionSlot(this IWebAppsOperations op /// /// The cancellation token. /// - public static async Task DeleteRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Removes a Hybrid Connection from this site. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Removes a Hybrid Connection from this site. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// /// /// The name of the slot for the web app. /// - public static RelayServiceConnectionEntity UpdateRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot) + public static void DeleteHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, slot).GetAwaiter().GetResult(); } /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// Removes a Hybrid Connection from this site. /// - /// Creates a new association to a Biztalk Hybrid Connection, or updates an - /// existing one. + /// + /// Removes a Hybrid Connection from this site. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// /// The name of the web app /// - /// - /// The name by which the Hybrid Connection is identified + /// + /// The namespace for this hybrid connection /// - /// - /// The details of the Hybrid Connection + /// + /// The relay name for this hybrid connection /// /// /// The name of the slot for the web app. @@ -7329,371 +7708,1343 @@ public static RelayServiceConnectionEntity UpdateRelayServiceConnectionSlot(this /// /// The cancellation token. /// - public static async Task UpdateRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets all instance of a web app + /// Creates a new Hybrid Connection using a Service Bus relay. /// - /// Gets all instance of a web app + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection + /// + /// + /// The name of the slot for the web app. + /// + public static HybridConnection UpdateHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot) + { + return operations.UpdateHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot).GetAwaiter().GetResult(); + } + + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// + /// + /// Creates a new Hybrid Connection using a Service Bus relay. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The details of the hybrid connection + /// + /// + /// The name of the slot for the web app. + /// + /// + /// The cancellation token. + /// + public static async Task UpdateHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.UpdateHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Gets the send key name and value for a Hybrid Connection. + /// + /// + /// Gets the send key name and value for a Hybrid Connection. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The name of the slot for the web app. + /// + public static HybridConnectionKey ListHybridConnectionKeysSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot) + { + return operations.ListHybridConnectionKeysSlotAsync(resourceGroupName, name, namespaceName, relayName, slot).GetAwaiter().GetResult(); + } + + /// + /// Gets the send key name and value for a Hybrid Connection. + /// + /// + /// Gets the send key name and value for a Hybrid Connection. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The namespace for this hybrid connection + /// + /// + /// The relay name for this hybrid connection + /// + /// + /// The name of the slot for the web app. + /// + /// + /// The cancellation token. + /// + public static async Task ListHybridConnectionKeysSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListHybridConnectionKeysSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The name of the slot for the web app. + /// + public static HybridConnection ListHybridConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + { + return operations.ListHybridConnectionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); + } + + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// + /// Retrieves all Service Bus Hybrid Connections used by this Web App. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The name of the slot for the web app. + /// + /// + /// The cancellation token. + /// + public static async Task ListHybridConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListHybridConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// hybrid connections for the production slot. + /// + public static RelayServiceConnectionEntity ListRelayServiceConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + { + return operations.ListRelayServiceConnectionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); + } + + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// + /// + /// Gets hybrid connections configured for an app (or deployment slot, if + /// specified). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// hybrid connections for the production slot. + /// + /// + /// The cancellation token. + /// + public static async Task ListRelayServiceConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListRelayServiceConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Gets a hybrid connection configuration by its name. + /// + /// + /// Gets a hybrid connection configuration by its name. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// hybrid connection for the production slot. + /// + public static RelayServiceConnectionEntity GetRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot) + { + return operations.GetRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, slot).GetAwaiter().GetResult(); + } + + /// + /// Gets a hybrid connection configuration by its name. + /// + /// + /// Gets a hybrid connection configuration by its name. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// hybrid connection for the production slot. + /// + /// + /// The cancellation token. + /// + public static async Task GetRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GetRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Details of the hybrid connection configuration. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// create or update a hybrid connection for the production slot. + /// + public static RelayServiceConnectionEntity CreateOrUpdateRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot) + { + return operations.CreateOrUpdateRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, connectionEnvelope, slot).GetAwaiter().GetResult(); + } + + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Details of the hybrid connection configuration. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// create or update a hybrid connection for the production slot. + /// + /// + /// The cancellation token. + /// + public static async Task CreateOrUpdateRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.CreateOrUpdateRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Deletes a relay service connection by its name. + /// + /// + /// Deletes a relay service connection by its name. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete a hybrid connection for the production slot. + /// + public static void DeleteRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot) + { + operations.DeleteRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, slot).GetAwaiter().GetResult(); + } + + /// + /// Deletes a relay service connection by its name. + /// + /// + /// Deletes a relay service connection by its name. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete a hybrid connection for the production slot. + /// + /// + /// The cancellation token. + /// + public static async Task DeleteRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.DeleteRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, slot, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Details of the hybrid connection configuration. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// create or update a hybrid connection for the production slot. + /// + public static RelayServiceConnectionEntity UpdateRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot) + { + return operations.UpdateRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, connectionEnvelope, slot).GetAwaiter().GetResult(); + } + + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// Creates a new hybrid connection configuration (PUT), or updates an existing + /// one (PATCH). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the hybrid connection configuration. + /// + /// + /// Details of the hybrid connection configuration. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// create or update a hybrid connection for the production slot. + /// + /// + /// The cancellation token. + /// + public static async Task UpdateRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.UpdateRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Gets all scale-out instances of an app. + /// + /// + /// Gets all scale-out instances of an app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API gets the + /// production slot instances. + /// + public static IPage ListInstanceIdentifiersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + { + return operations.ListInstanceIdentifiersSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); + } + + /// + /// Gets all scale-out instances of an app. + /// + /// + /// Gets all scale-out instances of an app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API gets the + /// production slot instances. + /// + /// + /// The cancellation token. + /// + public static async Task> ListInstanceIdentifiersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListInstanceIdentifiersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API returns + /// deployments for the production slot. + /// + /// + /// The ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + public static IPage ListInstanceDeploymentsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId) + { + return operations.ListInstanceDeploymentsSlotAsync(resourceGroupName, name, slot, instanceId).GetAwaiter().GetResult(); + } + + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API returns + /// deployments for the production slot. + /// + /// + /// The ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// The cancellation token. + /// + public static async Task> ListInstanceDeploymentsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListInstanceDeploymentsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, instanceId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Deployment ID. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API gets a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + public static Deployment GetInstanceDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId) + { + return operations.GetInstanceDeploymentSlotAsync(resourceGroupName, name, id, slot, instanceId).GetAwaiter().GetResult(); + } + + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// Get a deployment by its ID for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Deployment ID. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API gets a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// The cancellation token. + /// + public static async Task GetInstanceDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GetInstanceDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, instanceId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// ID of an existing deployment. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API creates a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// Deployment details. + /// + public static Deployment CreateInstanceDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, Deployment deployment) + { + return operations.CreateInstanceDeploymentSlotAsync(resourceGroupName, name, id, slot, instanceId, deployment).GetAwaiter().GetResult(); + } + + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// Create a deployment for an app, a specific deployment slot, and/or a + /// specific scaled-out instance. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// ID of an existing deployment. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API creates a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// Deployment details. + /// + /// + /// The cancellation token. + /// + public static async Task CreateInstanceDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.CreateInstanceDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, instanceId, deployment, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Deployment ID. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API deletes a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + public static void DeleteInstanceDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId) + { + operations.DeleteInstanceDeploymentSlotAsync(resourceGroupName, name, id, slot, instanceId).GetAwaiter().GetResult(); + } + + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// + /// + /// Delete a deployment by its ID for an app, a specific deployment slot, + /// and/or a specific scaled-out instance. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Deployment ID. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API deletes a + /// deployment for the production slot. + /// + /// + /// ID of a specific scaled-out instance. This is the value of the name + /// property in the JSON response from "GET api/sites/{siteName}/instances" + /// + /// + /// The cancellation token. + /// + public static async Task DeleteInstanceDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.DeleteInstanceDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, instanceId, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. By default, this API returns information on + /// the production slot. /// - public static IPage ListInstanceIdentifiersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static SiteCloneability IsCloneableSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceIdentifiersSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.IsCloneableSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets all instance of a web app + /// Shows whether an app can be cloned to another resource group or + /// subscription. /// - /// Gets all instance of a web app + /// + /// Shows whether an app can be cloned to another resource group or + /// subscription. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. By default, this API returns information on + /// the production slot. /// /// /// The cancellation token. /// - public static async Task> ListInstanceIdentifiersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task IsCloneableSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListInstanceIdentifiersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.IsCloneableSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// List deployments + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// List deployments + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Id of web app instance + /// Name of the deployment slot. If a slot is not specified, the API will get + /// metric definitions of the production slot. /// - public static IPage ListInstanceDeploymentsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId) + public static IPage ListMetricDefinitionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceDeploymentsSlotAsync(resourceGroupName, name, slot, instanceId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricDefinitionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// List deployments + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// List deployments + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Id of web app instance + /// Name of the deployment slot. If a slot is not specified, the API will get + /// metric definitions of the production slot. /// /// /// The cancellation token. /// - public static async Task> ListInstanceDeploymentsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMetricDefinitionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListInstanceDeploymentsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, instanceId, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListMetricDefinitionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get the deployment + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Get the deployment + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// metrics of the production slot. /// - /// - /// Id of web app instance + /// + /// Specify "true" to include metric details in the response. It is "false" by + /// default. /// - public static Deployment GetInstanceDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId) + /// + /// Return only metrics specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. + /// + public static IPage ListMetricsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? details = default(bool?), string filter = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetInstanceDeploymentSlotAsync(resourceGroupName, name, id, slot, instanceId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsSlotAsync(resourceGroupName, name, slot, details, filter).GetAwaiter().GetResult(); } /// - /// Get the deployment + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Get the deployment + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// metrics of the production slot. /// - /// - /// Id of web app instance + /// + /// Specify "true" to include metric details in the response. It is "false" by + /// default. + /// + /// + /// Return only metrics specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// The cancellation token. /// - public static async Task GetInstanceDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMetricsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? details = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetInstanceDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, instanceId, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListMetricsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, details, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Create a deployment + /// Gets all network features used by the app (or deployment slot, if + /// specified). /// - /// Create a deployment + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The type of view. This can either be "summary" or "detailed". /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Id of web app instance - /// - /// - /// Details of deployment + /// Name of the deployment slot. If a slot is not specified, the API will get + /// network features for the production slot. /// - public static Deployment CreateInstanceDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, Deployment deployment) + public static NetworkFeatures ListNetworkFeaturesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string view, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateInstanceDeploymentSlotAsync(resourceGroupName, name, id, slot, instanceId, deployment), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNetworkFeaturesSlotAsync(resourceGroupName, name, view, slot).GetAwaiter().GetResult(); } /// - /// Create a deployment + /// Gets all network features used by the app (or deployment slot, if + /// specified). /// - /// Create a deployment + /// + /// Gets all network features used by the app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Id of the deployment + /// + /// The type of view. This can either be "summary" or "detailed". /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Id of web app instance - /// - /// - /// Details of deployment + /// Name of the deployment slot. If a slot is not specified, the API will get + /// network features for the production slot. /// /// /// The cancellation token. /// - public static async Task CreateInstanceDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListNetworkFeaturesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string view, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateInstanceDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, instanceId, deployment, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListNetworkFeaturesSlotWithHttpMessagesAsync(resourceGroupName, name, view, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Delete the deployment + /// Start capturing network packets for the site. /// - /// Delete the deployment + /// + /// Start capturing network packets for the site. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of the deployment + /// The name of the web app /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// The name of the slot for this web app. /// - /// - /// Id of web app instance + /// + /// The duration to keep capturing in seconds /// - public static object DeleteInstanceDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId) + public static string StartWebSiteNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteInstanceDeploymentSlotAsync(resourceGroupName, name, id, slot, instanceId), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.StartWebSiteNetworkTraceSlotAsync(resourceGroupName, name, slot, durationInSeconds).GetAwaiter().GetResult(); } /// - /// Delete the deployment + /// Start capturing network packets for the site. /// - /// Delete the deployment + /// + /// Start capturing network packets for the site. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// The name of the web app /// - /// - /// Id of the deployment + /// + /// The name of the slot for this web app. + /// + /// + /// The duration to keep capturing in seconds + /// + /// + /// The cancellation token. + /// + public static async Task StartWebSiteNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.StartWebSiteNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, durationInSeconds, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Stop ongoing capturing network packets for the site. + /// + /// + /// Stop ongoing capturing network packets for the site. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// The name of the slot for this web app. /// - /// - /// Id of web app instance + public static string StopWebSiteNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + { + return operations.StopWebSiteNetworkTraceSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); + } + + /// + /// Stop ongoing capturing network packets for the site. + /// + /// + /// Stop ongoing capturing network packets for the site. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// The name of the web app + /// + /// + /// The name of the slot for this web app. /// /// /// The cancellation token. /// - public static async Task DeleteInstanceDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task StopWebSiteNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteInstanceDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, instanceId, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.StopWebSiteNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Creates a new web app or modifies an existing web app. + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// + /// + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API generate a + /// new publishing password for the production slot. + /// + public static void GenerateNewSitePublishingPasswordSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + { + operations.GenerateNewSitePublishingPasswordSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); + } + + /// + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// + /// + /// Generates a new publishing password for an app (or deployment slot, if + /// specified). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API generate a + /// new publishing password for the production slot. + /// + /// + /// The cancellation token. + /// + public static async Task GenerateNewSitePublishingPasswordSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + { + await operations.GenerateNewSitePublishingPasswordSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false); + } + + /// + /// Gets perfmon counters for web app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of web app /// /// /// Name of web app slot. If not specified then will default to production - /// slot. + /// slot. **** CURRENTLY UNUSED ***** /// - public static SiteCloneability IsCloneableSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and + /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. + /// + public static IPage ListPerfMonCountersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).IsCloneableSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPerfMonCountersSlotAsync(resourceGroupName, name, slot, filter).GetAwaiter().GetResult(); } /// - /// Creates a new web app or modifies an existing web app. + /// Gets perfmon counters for web app. /// - /// Creates a new web app or modifies an existing web app. + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of the resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of the web app + /// Name of web app /// /// /// Name of web app slot. If not specified then will default to production - /// slot. + /// slot. **** CURRENTLY UNUSED ***** + /// + /// + /// Return only usages/metrics specified in the filter. Filter conforms to + /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and + /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + /// duration'[Hour|Minute|Day]'. /// /// /// The cancellation token. /// - public static async Task IsCloneableSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListPerfMonCountersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.IsCloneableSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListPerfMonCountersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets metric definitions for web app + /// Gets web app's event logs. /// - /// Gets metric definitions for web app + /// + /// Gets web app's event logs. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -7702,20 +9053,22 @@ public static SiteCloneability IsCloneableSlot(this IWebAppsOperations operation /// Name of web app slot. If not specified then will default to production /// slot. /// - public static IPage ListMetricDefinitionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static SitePhpErrorLogFlag GetSitePhpErrorLogFlagSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricDefinitionsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSitePhpErrorLogFlagSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets metric definitions for web app + /// Gets web app's event logs. /// - /// Gets metric definitions for web app + /// + /// Gets web app's event logs. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -7727,273 +9080,359 @@ public static IPage ListMetricDefinitionsSlot(this IWebAppsOpe /// /// The cancellation token. /// - public static async Task> ListMetricDefinitionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetSitePhpErrorLogFlagSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListMetricDefinitionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetSitePhpErrorLogFlagSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets metrics for web app + /// Gets the premier add-ons of an app. /// - /// Gets metrics for web app + /// + /// Gets the premier add-ons of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the premier add-ons for the production slot. /// - /// - /// If true, metric details are included in response + public static PremierAddOn ListPremierAddOnsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + { + return operations.ListPremierAddOnsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); + } + + /// + /// Gets the premier add-ons of an app. + /// + /// + /// Gets the premier add-ons of an app. + /// + /// + /// The operations group for this extension method. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Name of the resource group to which the resource belongs. /// - public static IPage ListMetricsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? details = default(bool?), string filter = default(string)) + /// + /// Name of the app. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the premier add-ons for the production slot. + /// + /// + /// The cancellation token. + /// + public static async Task ListPremierAddOnsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricsSlotAsync(resourceGroupName, name, slot, details, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + using (var _result = await operations.ListPremierAddOnsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } } /// - /// Gets metrics for web app + /// Gets a named add-on of an app. /// - /// Gets metrics for web app + /// + /// Gets a named add-on of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Add-on name. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the named add-on for the production slot. /// - /// - /// If true, metric details are included in response + public static PremierAddOn GetPremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot) + { + return operations.GetPremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, slot).GetAwaiter().GetResult(); + } + + /// + /// Gets a named add-on of an app. + /// + /// + /// Gets a named add-on of an app. + /// + /// + /// The operations group for this extension method. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Name of the app. + /// + /// + /// Add-on name. + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the named add-on for the production slot. /// /// /// The cancellation token. /// - public static async Task> ListMetricsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? details = default(bool?), string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetPremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListMetricsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, details, filter, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetPremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a view of all network features in use on this web app. + /// Updates a named add-on of an app. /// - /// Retrieves a view of all network features in use on this web app. + /// + /// Updates a named add-on of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The type of view. This can either be "summary" or "detailed". + /// + /// Add-on name. + /// + /// + /// A JSON representation of the edited premier add-on. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the named add-on for the production slot. /// - public static NetworkFeatures ListNetworkFeaturesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string view, string slot) + public static PremierAddOn AddPremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListNetworkFeaturesSlotAsync(resourceGroupName, name, view, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.AddPremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot).GetAwaiter().GetResult(); } /// - /// Retrieves a view of all network features in use on this web app. + /// Updates a named add-on of an app. /// - /// Retrieves a view of all network features in use on this web app. + /// + /// Updates a named add-on of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Add-on name. /// - /// - /// The type of view. This can either be "summary" or "detailed". + /// + /// A JSON representation of the edited premier add-on. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the named add-on for the production slot. /// /// /// The cancellation token. /// - public static async Task ListNetworkFeaturesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string view, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task AddPremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListNetworkFeaturesSlotWithHttpMessagesAsync(resourceGroupName, name, view, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.AddPremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Start capturing network packets for the site + /// Delete a premier add-on from an app. /// - /// Start capturing network packets for the site + /// + /// Delete a premier add-on from an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the slot for this web app. + /// + /// Add-on name. /// - /// - /// The duration to keep capturing in seconds + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the named add-on for the production slot. /// - public static string StartWebSiteNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?)) + public static void DeletePremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StartWebSiteNetworkTraceSlotAsync(resourceGroupName, name, slot, durationInSeconds), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeletePremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, slot).GetAwaiter().GetResult(); } /// - /// Start capturing network packets for the site + /// Delete a premier add-on from an app. /// - /// Start capturing network packets for the site + /// + /// Delete a premier add-on from an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the slot for this web app. + /// + /// Add-on name. /// - /// - /// The duration to keep capturing in seconds + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the named add-on for the production slot. /// /// /// The cancellation token. /// - public static async Task StartWebSiteNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeletePremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StartWebSiteNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, durationInSeconds, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeletePremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Stop ongoing capturing network packets for the site + /// Gets the publishing profile for an app (or deployment slot, if specified). /// - /// Stop ongoing capturing network packets for the site + /// + /// Gets the publishing profile for an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Specifies publishingProfileOptions for publishing profile. For example, use + /// {"format": "FileZilla3"} to get a FileZilla publishing profile. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing profile for the production slot. /// - public static string StopWebSiteNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static Stream ListPublishingProfileXmlWithSecretsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StopWebSiteNetworkTraceSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPublishingProfileXmlWithSecretsSlotAsync(resourceGroupName, name, publishingProfileOptions, slot).GetAwaiter().GetResult(); } /// - /// Stop ongoing capturing network packets for the site + /// Gets the publishing profile for an app (or deployment slot, if specified). /// - /// Stop ongoing capturing network packets for the site + /// + /// Gets the publishing profile for an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. + /// + /// + /// Specifies publishingProfileOptions for publishing profile. For example, use + /// {"format": "FileZilla3"} to get a FileZilla publishing profile. /// /// - /// The name of the slot for this web app. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing profile for the production slot. /// /// /// The cancellation token. /// - public static async Task StopWebSiteNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListPublishingProfileXmlWithSecretsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StopWebSiteNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + var _result = await operations.ListPublishingProfileXmlWithSecretsSlotWithHttpMessagesAsync(resourceGroupName, name, publishingProfileOptions, slot, null, cancellationToken).ConfigureAwait(false); + _result.Request.Dispose(); + return _result.Body; } /// - /// Generates new random app publishing password + /// Recovers a deleted web app. /// - /// Generates new random app publishing password + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// /// /// Name of web app slot. If not specified then will default to production /// slot. /// - public static object GenerateNewSitePublishingPasswordSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static RecoverResponse RecoverSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GenerateNewSitePublishingPasswordSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.RecoverSlotAsync(resourceGroupName, name, recoveryEntity, slot).GetAwaiter().GetResult(); } /// - /// Generates new random app publishing password + /// Recovers a deleted web app. /// - /// Generates new random app publishing password + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// /// /// Name of web app slot. If not specified then will default to production /// slot. @@ -8001,582 +9440,583 @@ public static object GenerateNewSitePublishingPasswordSlot(this IWebAppsOperatio /// /// The cancellation token. /// - public static async Task GenerateNewSitePublishingPasswordSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RecoverSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GenerateNewSitePublishingPasswordSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.RecoverSlotWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the operation for a web app + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. /// - /// Gets the operation for a web app + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of an operation + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API resets + /// configuration settings for the production slot. /// - public static object GetOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot) + public static void ResetSlotConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetOperationSlotAsync(resourceGroupName, name, operationId, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ResetSlotConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the operation for a web app + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. /// - /// Gets the operation for a web app + /// + /// Resets the configuration settings of the current slot if they were + /// previously modified by calling the API with POST. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Id of an operation + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API resets + /// configuration settings for the production slot. /// /// /// The cancellation token. /// - public static async Task GetOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ResetSlotConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetOperationSlotWithHttpMessagesAsync(resourceGroupName, name, operationId, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ResetSlotConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets perfmon counters for web app + /// Restarts an app (or deployment slot, if specified). /// - /// Gets perfmon counters for web app + /// + /// Restarts an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. **** CURRENTLY UNUSED ***** + /// Name of the deployment slot. If a slot is not specified, the API will + /// restart the production slot. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and - /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq - /// duration'[Hour|Minute|Day]'. + /// + /// Specify true to apply the configuration settings and restarts the app only + /// if necessary. By default, the API always restarts and reprovisions the app. /// - public static IPage ListPerfMonCountersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string)) + /// + /// Specify true to block until the app is restarted. By default, it is set to + /// false, and the API responds immediately (asynchronous). + /// + public static void RestartSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPerfMonCountersSlotAsync(resourceGroupName, name, slot, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.RestartSlotAsync(resourceGroupName, name, slot, softRestart, synchronous).GetAwaiter().GetResult(); } /// - /// Gets perfmon counters for web app + /// Restarts an app (or deployment slot, if specified). /// - /// Gets perfmon counters for web app + /// + /// Restarts an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. **** CURRENTLY UNUSED ***** + /// Name of the deployment slot. If a slot is not specified, the API will + /// restart the production slot. /// - /// - /// Return only usages/metrics specified in the filter. Filter conforms to - /// odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and - /// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq - /// duration'[Hour|Minute|Day]'. + /// + /// Specify true to apply the configuration settings and restarts the app only + /// if necessary. By default, the API always restarts and reprovisions the app. + /// + /// + /// Specify true to block until the app is restarted. By default, it is set to + /// false, and the API responds immediately (asynchronous). /// /// /// The cancellation token. /// - public static async Task> ListPerfMonCountersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task RestartSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListPerfMonCountersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, filter, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.RestartSlotWithHttpMessagesAsync(resourceGroupName, name, slot, softRestart, synchronous, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets sites's event logs + /// Get the difference in configuration settings between two web app slots. /// - /// Gets sites's event logs + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// - public static IList GetSitePhpErrorLogFlagSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static IPage GetSlotsDifferencesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSitePhpErrorLogFlagSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSlotsDifferencesSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult(); } /// - /// Gets sites's event logs + /// Get the difference in configuration settings between two web app slots. /// - /// Gets sites's event logs + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// /// /// The cancellation token. /// - public static async Task> GetSitePhpErrorLogFlagSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> GetSlotsDifferencesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSitePhpErrorLogFlagSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetSlotsDifferencesSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// List premier add ons for web app + /// Swaps two deployment slots of an app. /// - /// List premier add ons for web app + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. /// /// - /// web app slot name + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// - public static object ListPremierAddOnsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static void SwapSlotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPremierAddOnsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.SwapSlotSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult(); } /// - /// List premier add ons for web app + /// Swaps two deployment slots of an app. /// - /// List premier add ons for web app + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. + /// + /// + /// JSON object that contains the target slot name. See example. /// /// - /// web app slot name + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// /// /// The cancellation token. /// - public static async Task ListPremierAddOnsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task SwapSlotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListPremierAddOnsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.SwapSlotSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets a specific premier add on + /// Returns all Snapshots to the user. /// - /// Gets a specific premier add on + /// + /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on + /// Website Name /// /// - /// web app slot name + /// Website Slot /// - public static object GetPremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot) + public static IPage ListSnapshotsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetPremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSnapshotsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets a specific premier add on + /// Returns all Snapshots to the user. /// - /// Gets a specific premier add on + /// + /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on + /// Website Name /// /// - /// web app slot name + /// Website Slot /// /// /// The cancellation token. /// - public static async Task GetPremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListSnapshotsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetPremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListSnapshotsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Add premier add-on + /// Gets the source control configuration of an app. /// - /// Add premier add-on + /// + /// Gets the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on - /// - /// - /// Premier add on request + /// Name of the app. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the source control configuration for the production slot. /// - public static object AddPremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn, string slot) + public static SiteSourceControl GetSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).AddPremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSourceControlSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Add premier add-on + /// Gets the source control configuration of an app. /// - /// Add premier add-on + /// + /// Gets the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name - /// - /// - /// Premier add on - /// - /// - /// Premier add on request + /// Name of the app. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the source control configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task AddPremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnRequest premierAddOn, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.AddPremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Delete premier add-on + /// Updates the source control configuration of an app. /// - /// Delete premier add-on + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// - /// - /// Premier add on + /// + /// JSON representation of a SiteSourceControl object. See example. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the source control configuration for the production slot. /// - public static object DeletePremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot) + public static SiteSourceControl CreateOrUpdateSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeletePremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateSourceControlSlotAsync(resourceGroupName, name, siteSourceControl, slot).GetAwaiter().GetResult(); } /// - /// Delete premier add-on + /// Updates the source control configuration of an app. /// - /// Delete premier add-on + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// web app name + /// Name of the app. /// - /// - /// Premier add on + /// + /// JSON representation of a SiteSourceControl object. See example. /// /// - /// web app slot name + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the source control configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task DeletePremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeletePremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the publishing profile for web app + /// Deletes the source control configuration of an app. /// - /// Gets the publishing profile for web app + /// + /// Deletes the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP format. + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the source control configuration for the production slot. /// - public static System.IO.Stream ListPublishingProfileXmlWithSecretsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions options, string slot) + public static void DeleteSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPublishingProfileXmlWithSecretsSlotAsync(resourceGroupName, name, options, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteSourceControlSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Gets the publishing profile for web app + /// Deletes the source control configuration of an app. /// - /// Gets the publishing profile for web app + /// + /// Deletes the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Specifies options for publishing profile. Pass - /// CsmPublishingProfileOptions.Format=FileZilla3 for FileZilla FTP format. + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the source control configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task ListPublishingProfileXmlWithSecretsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions options, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - var _result = await operations.ListPublishingProfileXmlWithSecretsSlotWithHttpMessagesAsync(resourceGroupName, name, options, slot, null, cancellationToken).ConfigureAwait(false); - _result.Request.Dispose(); - return _result.Body; + await operations.DeleteSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Recovers a deleted web app + /// Starts an app (or deployment slot, if specified). /// - /// Recovers a deleted web app + /// + /// Starts an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will start + /// the production slot. /// - public static RecoverResponse RecoverSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot) + public static void StartSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).RecoverSlotAsync(resourceGroupName, name, recoveryEntity, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.StartSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Recovers a deleted web app + /// Starts an app (or deployment slot, if specified). /// - /// Recovers a deleted web app + /// + /// Starts an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will start + /// the production slot. /// /// /// The cancellation token. /// - public static async Task RecoverSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task StartSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RecoverSlotWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.StartSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Recovers a deleted web app + /// Stops an app (or deployment slot, if specified). /// - /// Recovers a deleted web app + /// + /// Stops an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will stop + /// the production slot. /// - public static RecoverResponse BeginRecoverSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot) + public static void StopSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginRecoverSlotAsync(resourceGroupName, name, recoveryEntity, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.StopSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Recovers a deleted web app + /// Stops an app (or deployment slot, if specified). /// - /// Recovers a deleted web app + /// + /// Stops an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Snapshot data used for web app recovery. Snapshot information can be - /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will stop + /// the production slot. /// /// /// The cancellation token. /// - public static async Task BeginRecoverSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task StopSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginRecoverSlotWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.StopSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// Sync web app repository. /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// + /// Sync web app repository. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -8585,22 +10025,22 @@ public static RecoverResponse BeginRecoverSlot(this IWebAppsOperations operation /// Name of web app slot. If not specified then will default to production /// slot. /// - public static object ResetSlotConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static void SyncRepositorySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ResetSlotConfigurationSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.SyncRepositorySlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// Sync web app repository. /// - /// Resets the configuration settings of the current slot if they were - /// previously modified by calling ApplySlotConfig API + /// + /// Sync web app repository. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app @@ -8612,2194 +10052,2420 @@ public static object ResetSlotConfigurationSlot(this IWebAppsOperations operatio /// /// The cancellation token. /// - public static async Task ResetSlotConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task SyncRepositorySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ResetSlotConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.SyncRepositorySlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Restarts web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Restarts web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// quota information of the production slot. /// - /// - /// Soft restart applies the configuration settings and restarts the app if - /// necessary. Hard restart always restarts and reprovisions the app - /// - /// - /// If true then the API will block until the app has been restarted + /// + /// Return only information specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// - public static object RestartSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?)) + public static IPage ListUsagesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).RestartSlotAsync(resourceGroupName, name, slot, softRestart, synchronous), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListUsagesSlotAsync(resourceGroupName, name, slot, filter).GetAwaiter().GetResult(); } /// - /// Restarts web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Restarts web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get + /// quota information of the production slot. /// - /// - /// Soft restart applies the configuration settings and restarts the app if - /// necessary. Hard restart always restarts and reprovisions the app - /// - /// - /// If true then the API will block until the app has been restarted + /// + /// Return only information specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// The cancellation token. /// - public static async Task RestartSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListUsagesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.RestartSlotWithHttpMessagesAsync(resourceGroupName, name, slot, softRestart, synchronous, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListUsagesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get the difference in configuration settings between two web app slots + /// Gets the virtual networks the app (or deployment slot) is connected to. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Gets the virtual networks the app (or deployment slot) is connected to. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the target slot name + /// Name of the app. /// /// - /// Name of the source slot + /// Name of the deployment slot. If a slot is not specified, the API will get + /// virtual network connections for the production slot. /// - public static IPage GetSlotsDifferencesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) + public static IList ListVnetConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSlotsDifferencesSlotAsync(resourceGroupName, name, slotSwapEntity, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListVnetConnectionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Get the difference in configuration settings between two web app slots + /// Gets the virtual networks the app (or deployment slot) is connected to. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Gets the virtual networks the app (or deployment slot) is connected to. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Request body that contains the target slot name + /// Name of the app. /// /// - /// Name of the source slot + /// Name of the deployment slot. If a slot is not specified, the API will get + /// virtual network connections for the production slot. /// /// /// The cancellation token. /// - public static async Task> GetSlotsDifferencesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListVnetConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSlotsDifferencesSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListVnetConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Swaps web app slots + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. /// - /// Swaps web app slots + /// + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of the virtual network. /// /// - /// Name of source slot for the swap + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the named virtual network for the production slot. /// - public static object SwapSlotsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) + public static VnetInfo GetVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).SwapSlotsSlotAsync(resourceGroupName, name, slotSwapEntity, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetVnetConnectionSlotAsync(resourceGroupName, name, vnetName, slot).GetAwaiter().GetResult(); } /// - /// Swaps web app slots + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. /// - /// Swaps web app slots + /// + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of the virtual network. /// /// - /// Name of source slot for the swap + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the named virtual network for the production slot. /// /// /// The cancellation token. /// - public static async Task SwapSlotsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.SwapSlotsSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Swaps web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Swaps web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of an existing Virtual Network. + /// + /// + /// Properties of the Virtual Network connection. See example. /// /// - /// Name of source slot for the swap + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update connections for the production slot. /// - public static object BeginSwapSlotsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) + public static VnetInfo CreateOrUpdateVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginSwapSlotsSlotAsync(resourceGroupName, name, slotSwapEntity, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateVnetConnectionSlotAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot).GetAwaiter().GetResult(); } /// - /// Swaps web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Swaps web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of an existing Virtual Network. /// - /// - /// Request body that contains the target slot name + /// + /// Properties of the Virtual Network connection. See example. /// /// - /// Name of source slot for the swap + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update connections for the production slot. /// /// /// The cancellation token. /// - public static async Task BeginSwapSlotsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginSwapSlotsSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Returns all Snapshots to the user. + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. /// - /// Returns all Snapshots to the user. + /// + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Website Name + /// Name of the app. + /// + /// + /// Name of the virtual network. /// /// - /// Website Slot + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the connection for the production slot. /// - public static IPage ListSnapshotsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static void DeleteVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSnapshotsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteVnetConnectionSlotAsync(resourceGroupName, name, vnetName, slot).GetAwaiter().GetResult(); } /// - /// Returns all Snapshots to the user. + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. /// - /// Returns all Snapshots to the user. + /// + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Website Name + /// Name of the app. + /// + /// + /// Name of the virtual network. /// /// - /// Website Slot + /// Name of the deployment slot. If a slot is not specified, the API will + /// delete the connection for the production slot. /// /// /// The cancellation token. /// - public static async Task> ListSnapshotsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListSnapshotsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Get the source control configuration of web app + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Get the source control configuration of web app + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of an existing Virtual Network. + /// + /// + /// Properties of the Virtual Network connection. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update connections for the production slot. /// - public static SiteSourceControl GetSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static VnetInfo UpdateVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSourceControlSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateVnetConnectionSlotAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot).GetAwaiter().GetResult(); } /// - /// Get the source control configuration of web app + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Get the source control configuration of web app + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of an existing Virtual Network. + /// + /// + /// Properties of the Virtual Network connection. See example. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update connections for the production slot. /// /// /// The cancellation token. /// - public static async Task GetSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Update the source control configuration of web app + /// Gets an app's Virtual Network gateway. /// - /// Update the source control configuration of web app + /// + /// Gets an app's Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// gateway for the production slot's Virtual Network. /// - public static SiteSourceControl CreateOrUpdateSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot) + public static VnetGateway GetVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateSourceControlSlotAsync(resourceGroupName, name, siteSourceControl, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, slot).GetAwaiter().GetResult(); } /// - /// Update the source control configuration of web app + /// Gets an app's Virtual Network gateway. /// - /// Update the source control configuration of web app + /// + /// Gets an app's Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will get a + /// gateway for the production slot's Virtual Network. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Delete source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Delete source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update a gateway for the production slot's Virtual Network. /// - public static object DeleteSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static VnetGateway CreateOrUpdateVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteSourceControlSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot).GetAwaiter().GetResult(); } /// - /// Delete source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Delete source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update a gateway for the production slot's Virtual Network. /// /// /// The cancellation token. /// - public static async Task DeleteSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Update the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Update the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update a gateway for the production slot's Virtual Network. /// - public static SiteSourceControl UpdateSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot) + public static VnetGateway UpdateVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateSourceControlSlotAsync(resourceGroupName, name, siteSourceControl, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot).GetAwaiter().GetResult(); } /// - /// Update the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Update the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Name of the deployment slot. If a slot is not specified, the API will add + /// or update a gateway for the production slot's Virtual Network. /// /// /// The cancellation token. /// - public static async Task UpdateSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Starts web app + /// Get the difference in configuration settings between two web app slots. /// - /// Starts web app + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// JSON object that contains the target slot name. See example. /// - public static object StartSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static IPage GetSlotsDifferencesFromProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StartSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSlotsDifferencesFromProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult(); } /// - /// Starts web app + /// Get the difference in configuration settings between two web app slots. /// - /// Starts web app + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// JSON object that contains the target slot name. See example. /// /// /// The cancellation token. /// - public static async Task StartSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> GetSlotsDifferencesFromProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StartSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetSlotsDifferencesFromProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Stops web app + /// Swaps two deployment slots of an app. /// - /// Stops web app + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// JSON object that contains the target slot name. See example. /// - public static object StopSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static void SwapSlotWithProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StopSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.SwapSlotWithProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult(); } /// - /// Stops web app + /// Swaps two deployment slots of an app. /// - /// Stops web app + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// + /// JSON object that contains the target slot name. See example. /// /// /// The cancellation token. /// - public static async Task StopSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task SwapSlotWithProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StopSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.SwapSlotWithProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false); } /// - /// Sync web app repository + /// Returns all Snapshots to the user. /// - /// Sync web app repository + /// + /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Website Name /// - public static object SyncRepositorySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static IPage ListSnapshots(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).SyncRepositorySlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSnapshotsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Sync web app repository + /// Returns all Snapshots to the user. /// - /// Sync web app repository + /// + /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. + /// Website Name /// /// /// The cancellation token. /// - public static async Task SyncRepositorySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListSnapshotsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.SyncRepositorySlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListSnapshotsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the quota usage numbers for web app + /// Gets the source control configuration of an app. /// - /// Gets the quota usage numbers for web app + /// + /// Gets the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Return only usages specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. - /// - public static IPage ListUsagesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string)) + public static SiteSourceControl GetSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListUsagesSlotAsync(resourceGroupName, name, slot, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSourceControlAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Gets the quota usage numbers for web app + /// Gets the source control configuration of an app. /// - /// Gets the quota usage numbers for web app + /// + /// Gets the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app - /// - /// - /// Name of web app slot. If not specified then will default to production - /// slot. - /// - /// - /// Return only usages specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task> ListUsagesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListUsagesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, filter, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetSourceControlWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// Updates the source control configuration of an app. /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the slot for this web app. + /// + /// JSON representation of a SiteSourceControl object. See example. /// - public static IList ListVnetConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) + public static SiteSourceControl CreateOrUpdateSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListVnetConnectionsSlotAsync(resourceGroupName, name, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateSourceControlAsync(resourceGroupName, name, siteSourceControl).GetAwaiter().GetResult(); } /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// Updates the source control configuration of an app. /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the slot for this web app. + /// + /// JSON representation of a SiteSourceControl object. See example. /// /// /// The cancellation token. /// - public static async Task> ListVnetConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListVnetConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// Deletes the source control configuration of an app. /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// + /// Deletes the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// - public static VnetInfo GetVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot) + public static void DeleteSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetVnetConnectionSlotAsync(resourceGroupName, name, vnetName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteSourceControlAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// Deletes the source control configuration of an app. /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// + /// Deletes the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task GetVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteSourceControlWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Starts an app (or deployment slot, if specified). /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Starts an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network - /// - /// - /// The properties of this Virtual Network Connection - /// - /// - /// The name of the slot for this web app. - /// - public static VnetInfo CreateOrUpdateVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot) + public static void Start(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateVnetConnectionSlotAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.StartAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Starts an app (or deployment slot, if specified). /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Starts an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The properties of this Virtual Network Connection - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task StartAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.StartWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// Stops an app (or deployment slot, if specified). /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// + /// Stops an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the slot for this web app. - /// - public static object DeleteVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot) + public static void Stop(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteVnetConnectionSlotAsync(resourceGroupName, name, vnetName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.StopAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// Stops an app (or deployment slot, if specified). /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// + /// Stops an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task DeleteVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task StopAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.StopWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Sync web app repository. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Sync web app repository. + /// /// /// The operations group for this extension method. /// - /// - /// The resource group name - /// - /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The properties of this Virtual Network Connection + /// + /// Name of the resource group to which the resource belongs. /// - /// - /// The name of the slot for this web app. + /// + /// Name of web app /// - public static VnetInfo UpdateVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot) + public static void SyncRepository(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateVnetConnectionSlotAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.SyncRepositoryAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Sync web app repository. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Sync web app repository. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The properties of this Virtual Network Connection - /// - /// - /// The name of the slot for this web app. + /// Name of web app /// /// /// The cancellation token. /// - public static async Task UpdateVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task SyncRepositoryAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.SyncRepositoryWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false); } /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the app. /// - /// - /// The name of the slot for this web app. + /// + /// Return only information specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// - public static object GetVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, string slot) + public static IPage ListUsages(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListUsagesAsync(resourceGroupName, name, filter).GetAwaiter().GetResult(); } /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network + /// Name of the app. /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The name of the slot for this web app. + /// + /// Return only information specified in the filter (using OData syntax). For + /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and + /// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' + /// and timeGrain eq duration'[Hour|Minute|Day]'. /// /// /// The cancellation token. /// - public static async Task GetVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListUsagesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListUsagesWithHttpMessagesAsync(resourceGroupName, name, filter, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates the Virtual Network Gateway. + /// Gets the virtual networks the app (or deployment slot) is connected to. /// - /// Updates the Virtual Network Gateway. + /// + /// Gets the virtual networks the app (or deployment slot) is connected to. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. + /// Name of the app. /// - /// - /// The name of the slot for this web app. - /// - public static VnetGateway CreateOrUpdateVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot) + public static IList ListVnetConnections(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListVnetConnectionsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Updates the Virtual Network Gateway. + /// Gets the virtual networks the app (or deployment slot) is connected to. /// - /// Updates the Virtual Network Gateway. + /// + /// Gets the virtual networks the app (or deployment slot) is connected to. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. - /// - /// - /// The name of the slot for this web app. + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListVnetConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListVnetConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates the Virtual Network Gateway. + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. /// - /// Updates the Virtual Network Gateway. + /// + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. - /// - /// - /// The name of the slot for this web app. + /// Name of the virtual network. /// - public static VnetGateway UpdateVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot) + public static VnetInfo GetVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetVnetConnectionAsync(resourceGroupName, name, vnetName).GetAwaiter().GetResult(); } /// - /// Updates the Virtual Network Gateway. + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. /// - /// Updates the Virtual Network Gateway. + /// + /// Gets a virtual network the app (or deployment slot) is connected to by + /// name. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. - /// - /// - /// The name of the slot for this web app. + /// Name of the virtual network. /// /// /// The cancellation token. /// - public static async Task UpdateVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get the difference in configuration settings between two web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Get the difference in configuration settings between two web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of an existing Virtual Network. /// - public static IPage GetSlotsDifferencesFromProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) + /// + /// Properties of the Virtual Network connection. See example. + /// + public static VnetInfo CreateOrUpdateVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSlotsDifferencesFromProductionAsync(resourceGroupName, name, slotSwapEntity), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateVnetConnectionAsync(resourceGroupName, name, vnetName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Get the difference in configuration settings between two web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Get the difference in configuration settings between two web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of an existing Virtual Network. + /// + /// + /// Properties of the Virtual Network connection. See example. /// /// /// The cancellation token. /// - public static async Task> GetSlotsDifferencesFromProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSlotsDifferencesFromProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Swaps web app slots + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. /// - /// Swaps web app slots + /// + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of the virtual network. /// - public static object SwapSlotWithProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) + public static void DeleteVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).SwapSlotWithProductionAsync(resourceGroupName, name, slotSwapEntity), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.DeleteVnetConnectionAsync(resourceGroupName, name, vnetName).GetAwaiter().GetResult(); } /// - /// Swaps web app slots + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. /// - /// Swaps web app slots + /// + /// Deletes a connection from an app (or deployment slot to a named virtual + /// network. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of the virtual network. /// /// /// The cancellation token. /// - public static async Task SwapSlotWithProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task DeleteVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.SwapSlotWithProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.DeleteVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false); } /// - /// Swaps web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Swaps web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of an existing Virtual Network. /// - public static object BeginSwapSlotWithProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) + /// + /// Properties of the Virtual Network connection. See example. + /// + public static VnetInfo UpdateVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).BeginSwapSlotWithProductionAsync(resourceGroupName, name, slotSwapEntity), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateVnetConnectionAsync(resourceGroupName, name, vnetName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Swaps web app slots + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). /// - /// Swaps web app slots + /// + /// Adds a Virtual Network connection to an app or slot (PUT) or updates the + /// connection properties (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the target slot name + /// + /// Name of an existing Virtual Network. + /// + /// + /// Properties of the Virtual Network connection. See example. /// /// /// The cancellation token. /// - public static async Task BeginSwapSlotWithProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.BeginSwapSlotWithProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Returns all Snapshots to the user. + /// Gets an app's Virtual Network gateway. /// - /// Returns all Snapshots to the user. + /// + /// Gets an app's Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Website Name + /// Name of the app. /// - public static IPage ListSnapshots(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + public static VnetGateway GetVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSnapshotsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName).GetAwaiter().GetResult(); } /// - /// Returns all Snapshots to the user. + /// Gets an app's Virtual Network gateway. /// - /// Returns all Snapshots to the user. + /// + /// Gets an app's Virtual Network gateway. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Website Name + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". /// /// /// The cancellation token. /// - public static async Task> ListSnapshotsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task GetVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListSnapshotsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.GetVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Get the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static SiteSourceControl GetSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. + /// + public static VnetGateway CreateOrUpdateVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSourceControlAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.CreateOrUpdateVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Get the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Get the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. + /// + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// /// The cancellation token. /// - public static async Task GetSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CreateOrUpdateVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSourceControlWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateOrUpdateVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Update the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Update the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// Name of the Virtual Network. /// - public static SiteSourceControl CreateOrUpdateSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl) + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. + /// + public static VnetGateway UpdateVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateSourceControlAsync(resourceGroupName, name, siteSourceControl), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope).GetAwaiter().GetResult(); } /// - /// Update the source control configuration of web app + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). /// - /// Update the source control configuration of web app + /// + /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// Name of the Virtual Network. + /// + /// + /// Name of the gateway. Currently, the only supported string is "primary". + /// + /// + /// The properties to update this gateway with. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Delete source control configuration of web app + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Delete source control configuration of web app + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name /// - public static object DeleteSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name) + public static Site BeginCreateOrUpdate(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteSourceControlAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginCreateOrUpdateAsync(resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds).GetAwaiter().GetResult(); } /// - /// Delete source control configuration of web app + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Delete source control configuration of web app + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name /// /// /// The cancellation token. /// - public static async Task DeleteSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginCreateOrUpdateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteSourceControlWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Update the source control configuration of web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Update the source control configuration of web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// ID of the backup. + /// + /// + /// Information on restore request /// - public static SiteSourceControl UpdateSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl) + public static RestoreResponse BeginRestore(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateSourceControlAsync(resourceGroupName, name, siteSourceControl), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginRestoreAsync(resourceGroupName, name, backupId, request).GetAwaiter().GetResult(); } /// - /// Update the source control configuration of web app + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Update the source control configuration of web app + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - /// - /// Request body that contains the source control parameters + /// + /// ID of the backup. + /// + /// + /// Information on restore request /// /// /// The cancellation token. /// - public static async Task UpdateSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginRestoreAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginRestoreWithHttpMessagesAsync(resourceGroupName, name, backupId, request, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Starts web app + /// Gets the Git/FTP publishing credentials of an app. /// - /// Starts web app + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// - public static object Start(this IWebAppsOperations operations, string resourceGroupName, string name) + public static User BeginListPublishingCredentials(this IWebAppsOperations operations, string resourceGroupName, string name) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StartAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginListPublishingCredentialsAsync(resourceGroupName, name).GetAwaiter().GetResult(); } /// - /// Starts web app + /// Gets the Git/FTP publishing credentials of an app. /// - /// Starts web app + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Name of web app + /// Name of the app. /// /// /// The cancellation token. /// - public static async Task StartAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginListPublishingCredentialsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StartWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginListPublishingCredentialsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Stops web app + /// Restores a web app. /// - /// Stops web app + /// + /// Restores a web app. + /// /// /// The operations group for this extension method. /// + /// + /// Azure subscription + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - public static object Stop(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// Migration migrationOptions + /// + public static StorageMigrationResponse BeginMigrateStorage(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).StopAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginMigrateStorageAsync(subscriptionName, resourceGroupName, name, migrationOptions).GetAwaiter().GetResult(); } /// - /// Stops web app + /// Restores a web app. /// - /// Stops web app + /// + /// Restores a web app. + /// /// /// The operations group for this extension method. /// + /// + /// Azure subscription + /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// Migration migrationOptions + /// /// /// The cancellation token. /// - public static async Task StopAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginMigrateStorageAsync(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.StopWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginMigrateStorageWithHttpMessagesAsync(subscriptionName, resourceGroupName, name, migrationOptions, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Sync web app repository + /// Migrates a local (in-app) MySql database to a remote MySql database. /// - /// Sync web app repository + /// + /// Migrates a local (in-app) MySql database to a remote MySql database. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - public static object SyncRepository(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// MySql migration options + /// + public static Operation BeginMigrateMySql(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).SyncRepositoryAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginMigrateMySqlAsync(resourceGroupName, name, migrationRequestEnvelope).GetAwaiter().GetResult(); } /// - /// Sync web app repository + /// Migrates a local (in-app) MySql database to a remote MySql database. /// - /// Sync web app repository + /// + /// Migrates a local (in-app) MySql database to a remote MySql database. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// + /// + /// MySql migration options + /// /// /// The cancellation token. /// - public static async Task SyncRepositoryAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginMigrateMySqlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.SyncRepositoryWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginMigrateMySqlWithHttpMessagesAsync(resourceGroupName, name, migrationRequestEnvelope, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the quota usage numbers for web app + /// Recovers a deleted web app. /// - /// Gets the quota usage numbers for web app + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Return only usages specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. /// - public static IPage ListUsages(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string)) + public static RecoverResponse BeginRecover(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListUsagesAsync(resourceGroupName, name, filter), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginRecoverAsync(resourceGroupName, name, recoveryEntity).GetAwaiter().GetResult(); } /// - /// Gets the quota usage numbers for web app + /// Recovers a deleted web app. /// - /// Gets the quota usage numbers for web app + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// Name of resource group + /// Name of the resource group to which the resource belongs. /// /// /// Name of web app /// - /// - /// Return only usages specified in the filter. Filter is specified by using - /// OData syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq - /// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq - /// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. /// /// /// The cancellation token. /// - public static async Task> ListUsagesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginRecoverAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListUsagesWithHttpMessagesAsync(resourceGroupName, name, filter, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginRecoverWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. /// - public static IList ListVnetConnections(this IWebAppsOperations operations, string resourceGroupName, string name) + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// Name of the deployment slot to create or update. By default, this API + /// attempts to create or modify the production slot. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name + /// + public static Site BeginCreateOrUpdateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string)) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListVnetConnectionsAsync(resourceGroupName, name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginCreateOrUpdateSlotAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds).GetAwaiter().GetResult(); } /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. /// - /// Retrieves a list of all Virtual Network Connections associated with this - /// web app. + /// + /// Creates a new web, mobile, or API app in an existing resource group, or + /// updates an existing app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Unique name of the app to create or update. To create or update a + /// deployment slot, use the {slot} parameter. + /// + /// + /// A JSON representation of the app properties. See example. + /// + /// + /// Name of the deployment slot to create or update. By default, this API + /// attempts to create or modify the production slot. + /// + /// + /// If true web app hostname is not registered with DNS on creation. This + /// parameter is + /// only used for app creation + /// + /// + /// If true, custom (non *.azurewebsites.net) domains associated with web app + /// are not verified. + /// + /// + /// If true, web app hostname is force registered with DNS + /// + /// + /// Time to live in seconds for web app's default domain name /// /// /// The cancellation token. /// - public static async Task> ListVnetConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginCreateOrUpdateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, bool? skipDnsRegistration = default(bool?), bool? skipCustomDomainVerification = default(bool?), bool? forceDnsRegistration = default(bool?), string ttlInSeconds = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListVnetConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginCreateOrUpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, skipDnsRegistration, skipCustomDomainVerification, forceDnsRegistration, ttlInSeconds, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// ID of the backup. /// - public static VnetInfo GetVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName) + /// + /// Information on restore request + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// restore a backup of the production slot. + /// + public static RestoreResponse BeginRestoreSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetVnetConnectionAsync(resourceGroupName, name, vnetName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginRestoreSlotAsync(resourceGroupName, name, backupId, request, slot).GetAwaiter().GetResult(); } /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// Restores a specific backup to another app (or deployment slot, if + /// specified). /// - /// Retrieves a specific Virtual Network Connection associated with this web - /// app. + /// + /// Restores a specific backup to another app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// ID of the backup. + /// + /// + /// Information on restore request + /// + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// restore a backup of the production slot. /// /// /// The cancellation token. /// - public static async Task GetVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginRestoreSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginRestoreSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, request, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Gets the Git/FTP publishing credentials of an app. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network + /// Name of the app. /// - /// - /// The properties of this Virtual Network Connection + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing credentials for the production slot. /// - public static VnetInfo CreateOrUpdateVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope) + public static User BeginListPublishingCredentialsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateVnetConnectionAsync(resourceGroupName, name, vnetName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginListPublishingCredentialsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult(); } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Gets the Git/FTP publishing credentials of an app. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Gets the Git/FTP publishing credentials of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network + /// Name of the app. /// - /// - /// The properties of this Virtual Network Connection + /// + /// Name of the deployment slot. If a slot is not specified, the API will get + /// the publishing credentials for the production slot. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginListPublishingCredentialsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginListPublishingCredentialsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// Recovers a deleted web app. /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of web app /// - /// - /// The name of the Virtual Network + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// + /// Name of web app slot. If not specified then will default to production + /// slot. /// - public static object DeleteVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName) + public static RecoverResponse BeginRecoverSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).DeleteVnetConnectionAsync(resourceGroupName, name, vnetName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginRecoverSlotAsync(resourceGroupName, name, recoveryEntity, slot).GetAwaiter().GetResult(); } /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// Recovers a deleted web app. /// - /// Removes the specified Virtual Network Connection association from this web - /// app. + /// + /// Recovers a deleted web app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of web app /// - /// - /// The name of the Virtual Network + /// + /// Snapshot data used for web app recovery. Snapshot information can be + /// obtained by calling GetDeletedSites or GetSiteSnapshots API. + /// + /// + /// Name of web app slot. If not specified then will default to production + /// slot. /// /// /// The cancellation token. /// - public static async Task DeleteVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginRecoverSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSiteRecoveryEntity recoveryEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.DeleteVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginRecoverSlotWithHttpMessagesAsync(resourceGroupName, name, recoveryEntity, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Swaps two deployment slots of an app. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// JSON object that contains the target slot name. See example. /// - /// - /// The properties of this Virtual Network Connection + /// + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// - public static VnetInfo UpdateVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope) + public static void BeginSwapSlotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateVnetConnectionAsync(resourceGroupName, name, vnetName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.BeginSwapSlotSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult(); } /// - /// Adds a Virtual Network Connection or updates it's properties. + /// Swaps two deployment slots of an app. /// - /// Adds a Virtual Network Connection or updates it's properties. + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// JSON object that contains the target slot name. See example. /// - /// - /// The properties of this Virtual Network Connection + /// + /// Name of the source slot. If a slot is not specified, the production slot is + /// used as the source slot. /// /// /// The cancellation token. /// - public static async Task UpdateVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginSwapSlotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.BeginSwapSlotSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false); } /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// Updates the source control configuration of an app. /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// JSON representation of a SiteSourceControl object. See example. /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the source control configuration for the production slot. /// - public static object GetVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName) + public static SiteSourceControl BeginCreateOrUpdateSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginCreateOrUpdateSourceControlSlotAsync(resourceGroupName, name, siteSourceControl, slot).GetAwaiter().GetResult(); } /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// Updates the source control configuration of an app. /// - /// Retrieves a Virtual Network connection gateway associated with this web - /// app and virtual network. + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network + /// + /// JSON representation of a SiteSourceControl object. See example. /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// + /// Name of the deployment slot. If a slot is not specified, the API will + /// update the source control configuration for the production slot. /// /// /// The cancellation token. /// - public static async Task GetVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginCreateOrUpdateSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginCreateOrUpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Updates the Virtual Network Gateway. + /// Swaps two deployment slots of an app. /// - /// Updates the Virtual Network Gateway. + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the app. /// - /// - /// The properties to update this gateway with. + /// + /// JSON object that contains the target slot name. See example. /// - public static VnetGateway CreateOrUpdateVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope) + public static void BeginSwapSlotWithProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).CreateOrUpdateVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.BeginSwapSlotWithProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult(); } /// - /// Updates the Virtual Network Gateway. + /// Swaps two deployment slots of an app. /// - /// Updates the Virtual Network Gateway. + /// + /// Swaps two deployment slots of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network + /// Name of the app. /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. + /// + /// JSON object that contains the target slot name. See example. /// /// /// The cancellation token. /// - public static async Task CreateOrUpdateVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginSwapSlotWithProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateOrUpdateVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.BeginSwapSlotWithProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false); } /// - /// Updates the Virtual Network Gateway. + /// Updates the source control configuration of an app. /// - /// Updates the Virtual Network Gateway. + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app - /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" + /// Name of the app. /// - /// - /// The properties to update this gateway with. + /// + /// JSON representation of a SiteSourceControl object. See example. /// - public static VnetGateway UpdateVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope) + public static SiteSourceControl BeginCreateOrUpdateSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).UpdateVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.BeginCreateOrUpdateSourceControlAsync(resourceGroupName, name, siteSourceControl).GetAwaiter().GetResult(); } /// - /// Updates the Virtual Network Gateway. + /// Updates the source control configuration of an app. /// - /// Updates the Virtual Network Gateway. + /// + /// Updates the source control configuration of an app. + /// /// /// The operations group for this extension method. /// /// - /// The resource group name + /// Name of the resource group to which the resource belongs. /// /// - /// The name of the web app + /// Name of the app. /// - /// - /// The name of the Virtual Network - /// - /// - /// The name of the gateway. The only gateway that exists presently is - /// "primary" - /// - /// - /// The properties to update this gateway with. + /// + /// JSON representation of a SiteSourceControl object. See example. /// /// /// The cancellation token. /// - public static async Task UpdateVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task BeginCreateOrUpdateSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.BeginCreateOrUpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets all Web Apps for a subscription + /// Get all apps for a subscription. /// - /// Gets all Web Apps for a subscription + /// + /// Get all apps for a subscription. + /// /// /// The operations group for this extension method. /// @@ -10808,13 +12474,15 @@ public static VnetGateway UpdateVnetConnectionGateway(this IWebAppsOperations op /// public static IPage ListNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets all Web Apps for a subscription + /// Get all apps for a subscription. /// - /// Gets all Web Apps for a subscription + /// + /// Get all apps for a subscription. + /// /// /// The operations group for this extension method. /// @@ -10833,24 +12501,28 @@ public static IPage ListNext(this IWebAppsOperations operations, string ne } /// - /// Gets deleted web apps in subscription + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets deleted web apps in subscription + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListDeletedNext(this IWebAppsOperations operations, string nextPageLink) + public static IPage ListByResourceGroupNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListDeletedNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets deleted web apps in subscription + /// Gets all web, mobile, and API apps in the specified resource group. /// - /// Gets deleted web apps in subscription + /// + /// Gets all web, mobile, and API apps in the specified resource group. + /// /// /// The operations group for this extension method. /// @@ -10860,33 +12532,37 @@ public static IPage ListDeletedNext(this IWebAppsOperations operati /// /// The cancellation token. /// - public static async Task> ListDeletedNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListByResourceGroupNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListDeletedNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListByResourceGroupNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets the web apps for a subscription in the specified resource group + /// Gets existing backups of an app. /// - /// Gets the web apps for a subscription in the specified resource group + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListByResourceGroupNext(this IWebAppsOperations operations, string nextPageLink) + public static IPage ListBackupsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListByResourceGroupNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListBackupsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets the web apps for a subscription in the specified resource group + /// Gets existing backups of an app. /// - /// Gets the web apps for a subscription in the specified resource group + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// @@ -10896,33 +12572,41 @@ public static IPage ListByResourceGroupNext(this IWebAppsOperations operat /// /// The cancellation token. /// - public static async Task> ListByResourceGroupNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListBackupsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListByResourceGroupNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListBackupsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Lists all available backups for web app + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Lists all available backups for web app + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListBackupsNext(this IWebAppsOperations operations, string nextPageLink) + public static IPage ListDeploymentsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListBackupsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDeploymentsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists all available backups for web app + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// Lists all available backups for web app + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// @@ -10932,33 +12616,37 @@ public static IPage ListBackupsNext(this IWebAppsOperations operatio /// /// The cancellation token. /// - public static async Task> ListBackupsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListDeploymentsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListBackupsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListDeploymentsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// List deployments + /// Lists ownership identifiers for domain associated with web app. /// - /// List deployments + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListDeploymentsNext(this IWebAppsOperations operations, string nextPageLink) + public static IPage ListDomainOwnershipIdentifiersNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListDeploymentsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDomainOwnershipIdentifiersNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// List deployments + /// Lists ownership identifiers for domain associated with web app. /// - /// List deployments + /// + /// Lists ownership identifiers for domain associated with web app. + /// /// /// The operations group for this extension method. /// @@ -10968,18 +12656,20 @@ public static IPage ListDeploymentsNext(this IWebAppsOperations oper /// /// The cancellation token. /// - public static async Task> ListDeploymentsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListDomainOwnershipIdentifiersNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ListDeploymentsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListDomainOwnershipIdentifiersNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Get web app hostname bindings + /// Get hostname bindings for an app or a deployment slot. /// - /// Get web app hostname bindings + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// @@ -10988,13 +12678,15 @@ public static IPage ListDeploymentsNext(this IWebAppsOperations oper /// public static IPage ListHostNameBindingsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHostNameBindingsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHostNameBindingsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get web app hostname bindings + /// Get hostname bindings for an app or a deployment slot. /// - /// Get web app hostname bindings + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// @@ -11013,9 +12705,11 @@ public static IPage ListHostNameBindingsNext(this IWebAppsOpera } /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The operations group for this extension method. /// @@ -11024,13 +12718,15 @@ public static IPage ListHostNameBindingsNext(this IWebAppsOpera /// public static IPage ListInstanceIdentifiersNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceIdentifiersNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListInstanceIdentifiersNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The operations group for this extension method. /// @@ -11049,9 +12745,13 @@ public static IPage ListInstanceIdentifiersNext(this IWebAppsOpera } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// @@ -11060,13 +12760,17 @@ public static IPage ListInstanceIdentifiersNext(this IWebAppsOpera /// public static IPage ListInstanceDeploymentsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceDeploymentsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListInstanceDeploymentsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// @@ -11085,24 +12789,28 @@ public static IPage ListInstanceDeploymentsNext(this IWebAppsOperati } /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListMetricDefinitionsNext(this IWebAppsOperations operations, string nextPageLink) + public static IPage ListMetricDefinitionsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricDefinitionsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricDefinitionsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// @@ -11112,7 +12820,7 @@ public static IPage ListMetricDefinitionsNext(this IWebAppsOpe /// /// The cancellation token. /// - public static async Task> ListMetricDefinitionsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMetricDefinitionsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMetricDefinitionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { @@ -11121,9 +12829,11 @@ public static IPage ListMetricDefinitionsNext(this IWebAppsOpe } /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// @@ -11132,13 +12842,15 @@ public static IPage ListMetricDefinitionsNext(this IWebAppsOpe /// public static IPage ListMetricsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// @@ -11157,9 +12869,11 @@ public static IPage ListMetricsNext(this IWebAppsOperations oper } /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// @@ -11168,13 +12882,15 @@ public static IPage ListMetricsNext(this IWebAppsOperations oper /// public static IPage ListPerfMonCountersNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPerfMonCountersNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPerfMonCountersNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// @@ -11193,9 +12909,11 @@ public static IPage ListPerfMonCountersNext(this IWebAppsOperat } /// - /// Gets all the slots for a web apps + /// Gets an app's deployment slots. /// - /// Gets all the slots for a web apps + /// + /// Gets an app's deployment slots. + /// /// /// The operations group for this extension method. /// @@ -11204,13 +12922,15 @@ public static IPage ListPerfMonCountersNext(this IWebAppsOperat /// public static IPage ListSlotsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSlotsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSlotsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets all the slots for a web apps + /// Gets an app's deployment slots. /// - /// Gets all the slots for a web apps + /// + /// Gets an app's deployment slots. + /// /// /// The operations group for this extension method. /// @@ -11229,9 +12949,11 @@ public static IPage ListSlotsNext(this IWebAppsOperations operations, stri } /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// @@ -11240,13 +12962,15 @@ public static IPage ListSlotsNext(this IWebAppsOperations operations, stri /// public static IPage ListBackupsSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListBackupsSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListBackupsSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Lists all available backups for web app + /// Gets existing backups of an app. /// - /// Lists all available backups for web app + /// + /// Gets existing backups of an app. + /// /// /// The operations group for this extension method. /// @@ -11265,9 +12989,13 @@ public static IPage ListBackupsSlotNext(this IWebAppsOperations oper } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// @@ -11276,13 +13004,17 @@ public static IPage ListBackupsSlotNext(this IWebAppsOperations oper /// public static IPage ListDeploymentsSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListDeploymentsSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListDeploymentsSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// @@ -11301,9 +13033,51 @@ public static IPage ListDeploymentsSlotNext(this IWebAppsOperations } /// - /// Get web app hostname bindings + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListDomainOwnershipIdentifiersSlotNext(this IWebAppsOperations operations, string nextPageLink) + { + return operations.ListDomainOwnershipIdentifiersSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// Lists ownership identifiers for domain associated with web app. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListDomainOwnershipIdentifiersSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListDomainOwnershipIdentifiersSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Get hostname bindings for an app or a deployment slot. /// - /// Get web app hostname bindings + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// @@ -11312,13 +13086,15 @@ public static IPage ListDeploymentsSlotNext(this IWebAppsOperations /// public static IPage ListHostNameBindingsSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListHostNameBindingsSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListHostNameBindingsSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get web app hostname bindings + /// Get hostname bindings for an app or a deployment slot. /// - /// Get web app hostname bindings + /// + /// Get hostname bindings for an app or a deployment slot. + /// /// /// The operations group for this extension method. /// @@ -11337,9 +13113,11 @@ public static IPage ListHostNameBindingsSlotNext(this IWebAppsO } /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The operations group for this extension method. /// @@ -11348,13 +13126,15 @@ public static IPage ListHostNameBindingsSlotNext(this IWebAppsO /// public static IPage ListInstanceIdentifiersSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceIdentifiersSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListInstanceIdentifiersSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets all instance of a web app + /// Gets all scale-out instances of an app. /// - /// Gets all instance of a web app + /// + /// Gets all scale-out instances of an app. + /// /// /// The operations group for this extension method. /// @@ -11373,9 +13153,13 @@ public static IPage ListInstanceIdentifiersSlotNext(this IWebAppsO } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// @@ -11384,13 +13168,17 @@ public static IPage ListInstanceIdentifiersSlotNext(this IWebAppsO /// public static IPage ListInstanceDeploymentsSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListInstanceDeploymentsSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListInstanceDeploymentsSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// List deployments + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. /// - /// List deployments + /// + /// List deployments for an app, or a deployment slot, or for an instance of a + /// scaled-out app. + /// /// /// The operations group for this extension method. /// @@ -11409,24 +13197,28 @@ public static IPage ListInstanceDeploymentsSlotNext(this IWebAppsOpe } /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage ListMetricDefinitionsSlotNext(this IWebAppsOperations operations, string nextPageLink) + public static IPage ListMetricDefinitionsSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricDefinitionsSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricDefinitionsSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets metric definitions for web app + /// Gets all metric definitions of an app (or deployment slot, if specified). /// - /// Gets metric definitions for web app + /// + /// Gets all metric definitions of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// @@ -11436,7 +13228,7 @@ public static IPage ListMetricDefinitionsSlotNext(this IWebApp /// /// The cancellation token. /// - public static async Task> ListMetricDefinitionsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListMetricDefinitionsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListMetricDefinitionsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { @@ -11445,9 +13237,11 @@ public static IPage ListMetricDefinitionsSlotNext(this IWebApp } /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// @@ -11456,13 +13250,15 @@ public static IPage ListMetricDefinitionsSlotNext(this IWebApp /// public static IPage ListMetricsSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListMetricsSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListMetricsSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets metrics for web app + /// Gets performance metrics of an app (or deployment slot, if specified). /// - /// Gets metrics for web app + /// + /// Gets performance metrics of an app (or deployment slot, if specified). + /// /// /// The operations group for this extension method. /// @@ -11481,9 +13277,11 @@ public static IPage ListMetricsSlotNext(this IWebAppsOperations } /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// @@ -11492,13 +13290,15 @@ public static IPage ListMetricsSlotNext(this IWebAppsOperations /// public static IPage ListPerfMonCountersSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListPerfMonCountersSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPerfMonCountersSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets perfmon counters for web app + /// Gets perfmon counters for web app. /// - /// Gets perfmon counters for web app + /// + /// Gets perfmon counters for web app. + /// /// /// The operations group for this extension method. /// @@ -11517,9 +13317,11 @@ public static IPage ListPerfMonCountersSlotNext(this IWebAppsOp } /// - /// Get the difference in configuration settings between two web app slots + /// Get the difference in configuration settings between two web app slots. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// @@ -11528,13 +13330,15 @@ public static IPage ListPerfMonCountersSlotNext(this IWebAppsOp /// public static IPage GetSlotsDifferencesSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSlotsDifferencesSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSlotsDifferencesSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get the difference in configuration settings between two web app slots + /// Get the difference in configuration settings between two web app slots. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// @@ -11555,7 +13359,9 @@ public static IPage GetSlotsDifferencesSlotNext(this IWebAppsOpe /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// @@ -11564,13 +13370,15 @@ public static IPage GetSlotsDifferencesSlotNext(this IWebAppsOpe /// public static IPage ListSnapshotsSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSnapshotsSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSnapshotsSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// @@ -11589,9 +13397,13 @@ public static IPage ListSnapshotsSlotNext(this IWebAppsOperations oper } /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// @@ -11600,13 +13412,17 @@ public static IPage ListSnapshotsSlotNext(this IWebAppsOperations oper /// public static IPage ListUsagesSlotNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListUsagesSlotNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListUsagesSlotNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// @@ -11625,9 +13441,11 @@ public static IPage ListUsagesSlotNext(this IWebAppsOperations op } /// - /// Get the difference in configuration settings between two web app slots + /// Get the difference in configuration settings between two web app slots. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// @@ -11636,13 +13454,15 @@ public static IPage ListUsagesSlotNext(this IWebAppsOperations op /// public static IPage GetSlotsDifferencesFromProductionNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).GetSlotsDifferencesFromProductionNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetSlotsDifferencesFromProductionNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Get the difference in configuration settings between two web app slots + /// Get the difference in configuration settings between two web app slots. /// - /// Get the difference in configuration settings between two web app slots + /// + /// Get the difference in configuration settings between two web app slots. + /// /// /// The operations group for this extension method. /// @@ -11663,7 +13483,9 @@ public static IPage GetSlotsDifferencesFromProductionNext(this I /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// @@ -11672,13 +13494,15 @@ public static IPage GetSlotsDifferencesFromProductionNext(this I /// public static IPage ListSnapshotsNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListSnapshotsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSnapshotsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// /// Returns all Snapshots to the user. /// + /// /// Returns all Snapshots to the user. + /// /// /// The operations group for this extension method. /// @@ -11697,9 +13521,13 @@ public static IPage ListSnapshotsNext(this IWebAppsOperations operatio } /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// @@ -11708,13 +13536,17 @@ public static IPage ListSnapshotsNext(this IWebAppsOperations operatio /// public static IPage ListUsagesNext(this IWebAppsOperations operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebAppsOperations)s).ListUsagesNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListUsagesNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets the quota usage numbers for web app + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). /// - /// Gets the quota usage numbers for web app + /// + /// Gets the quota usage information of an app (or deployment slot, if + /// specified). + /// /// /// The operations group for this extension method. /// @@ -11734,3 +13566,4 @@ public static IPage ListUsagesNext(this IWebAppsOperations operat } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClient.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClient.cs index 153bd636dfff..9321ab4a3d98 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClient.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClient.cs @@ -1,29 +1,29 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. +using System.Net.Http.Headers; + namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Linq; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Rest.Serialization; + using Models; + using Newtonsoft.Json; + using System.Collections; using System.Collections.Generic; - using System.Diagnostics; + using System.Linq; using System.Net; using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Serialization; - using Newtonsoft.Json; - using Microsoft.Rest.Azure; - using Models; /// /// Composite Swagger for WebSite Management Client @@ -33,25 +33,26 @@ public partial class WebSiteManagementClient : ServiceClient /// The base URI of the service. /// - public Uri BaseUri { get; set; } + public System.Uri BaseUri { get; set; } /// /// Gets or sets json serialization settings. /// - public JsonSerializerSettings SerializationSettings { get; private set; } + public Newtonsoft.Json.JsonSerializerSettings SerializationSettings { get; private set; } /// /// Gets or sets json deserialization settings. /// - public JsonSerializerSettings DeserializationSettings { get; private set; } + public Newtonsoft.Json.JsonSerializerSettings DeserializationSettings { get; private set; } /// - /// Gets Azure subscription credentials. + /// Credentials needed for the client to connect to Azure. /// public ServiceClientCredentials Credentials { get; private set; } /// - /// Subscription Id + /// Your Azure subscription ID. This is a GUID-formatted string (e.g. + /// 00000000-0000-0000-0000-000000000000). /// public string SubscriptionId { get; set; } @@ -112,15 +113,20 @@ public partial class WebSiteManagementClient : ServiceClient public virtual IWebAppsOperations WebApps { get; private set; } + /// + /// Gets the IDeletedWebAppsOperations. + /// + public virtual IDeletedWebAppsOperations DeletedWebApps { get; private set; } + /// /// Initializes a new instance of the WebSiteManagementClient class. /// /// /// Optional. The delegating handlers to add to the http client pipeline. /// - protected WebSiteManagementClient(params DelegatingHandler[] handlers) : base(handlers) + protected WebSiteManagementClient(params System.Net.Http.DelegatingHandler[] handlers) : base(handlers) { - this.Initialize(); + Initialize(); } /// @@ -132,9 +138,9 @@ protected WebSiteManagementClient(params DelegatingHandler[] handlers) : base(ha /// /// Optional. The delegating handlers to add to the http client pipeline. /// - protected WebSiteManagementClient(HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : base(rootHandler, handlers) + protected WebSiteManagementClient(System.Net.Http.HttpClientHandler rootHandler, params System.Net.Http.DelegatingHandler[] handlers) : base(rootHandler, handlers) { - this.Initialize(); + Initialize(); } /// @@ -146,13 +152,16 @@ protected WebSiteManagementClient(HttpClientHandler rootHandler, params Delegati /// /// Optional. The delegating handlers to add to the http client pipeline. /// - protected WebSiteManagementClient(Uri baseUri, params DelegatingHandler[] handlers) : this(handlers) + /// + /// Thrown when a required parameter is null + /// + protected WebSiteManagementClient(System.Uri baseUri, params System.Net.Http.DelegatingHandler[] handlers) : this(handlers) { if (baseUri == null) { - throw new ArgumentNullException("baseUri"); + throw new System.ArgumentNullException("baseUri"); } - this.BaseUri = baseUri; + BaseUri = baseUri; } /// @@ -167,34 +176,40 @@ protected WebSiteManagementClient(Uri baseUri, params DelegatingHandler[] handle /// /// Optional. The delegating handlers to add to the http client pipeline. /// - protected WebSiteManagementClient(Uri baseUri, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers) + /// + /// Thrown when a required parameter is null + /// + protected WebSiteManagementClient(System.Uri baseUri, System.Net.Http.HttpClientHandler rootHandler, params System.Net.Http.DelegatingHandler[] handlers) : this(rootHandler, handlers) { if (baseUri == null) { - throw new ArgumentNullException("baseUri"); + throw new System.ArgumentNullException("baseUri"); } - this.BaseUri = baseUri; + BaseUri = baseUri; } /// /// Initializes a new instance of the WebSiteManagementClient class. /// /// - /// Required. Gets Azure subscription credentials. + /// Required. Credentials needed for the client to connect to Azure. /// /// /// Optional. The delegating handlers to add to the http client pipeline. /// - public WebSiteManagementClient(ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers) + /// + /// Thrown when a required parameter is null + /// + public WebSiteManagementClient(ServiceClientCredentials credentials, params System.Net.Http.DelegatingHandler[] handlers) : this(handlers) { if (credentials == null) { - throw new ArgumentNullException("credentials"); + throw new System.ArgumentNullException("credentials"); } - this.Credentials = credentials; - if (this.Credentials != null) + Credentials = credentials; + if (Credentials != null) { - this.Credentials.InitializeServiceClient(this); + Credentials.InitializeServiceClient(this); } } @@ -202,7 +217,7 @@ public WebSiteManagementClient(ServiceClientCredentials credentials, params Dele /// Initializes a new instance of the WebSiteManagementClient class. /// /// - /// Required. Gets Azure subscription credentials. + /// Required. Credentials needed for the client to connect to Azure. /// /// /// Optional. The http client handler used to handle http transport. @@ -210,16 +225,19 @@ public WebSiteManagementClient(ServiceClientCredentials credentials, params Dele /// /// Optional. The delegating handlers to add to the http client pipeline. /// - public WebSiteManagementClient(ServiceClientCredentials credentials, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers) + /// + /// Thrown when a required parameter is null + /// + public WebSiteManagementClient(ServiceClientCredentials credentials, System.Net.Http.HttpClientHandler rootHandler, params System.Net.Http.DelegatingHandler[] handlers) : this(rootHandler, handlers) { if (credentials == null) { - throw new ArgumentNullException("credentials"); + throw new System.ArgumentNullException("credentials"); } - this.Credentials = credentials; - if (this.Credentials != null) + Credentials = credentials; + if (Credentials != null) { - this.Credentials.InitializeServiceClient(this); + Credentials.InitializeServiceClient(this); } } @@ -230,26 +248,29 @@ public WebSiteManagementClient(ServiceClientCredentials credentials, HttpClientH /// Optional. The base URI of the service. /// /// - /// Required. Gets Azure subscription credentials. + /// Required. Credentials needed for the client to connect to Azure. /// /// /// Optional. The delegating handlers to add to the http client pipeline. /// - public WebSiteManagementClient(Uri baseUri, ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers) + /// + /// Thrown when a required parameter is null + /// + public WebSiteManagementClient(System.Uri baseUri, ServiceClientCredentials credentials, params System.Net.Http.DelegatingHandler[] handlers) : this(handlers) { if (baseUri == null) { - throw new ArgumentNullException("baseUri"); + throw new System.ArgumentNullException("baseUri"); } if (credentials == null) { - throw new ArgumentNullException("credentials"); + throw new System.ArgumentNullException("credentials"); } - this.BaseUri = baseUri; - this.Credentials = credentials; - if (this.Credentials != null) + BaseUri = baseUri; + Credentials = credentials; + if (Credentials != null) { - this.Credentials.InitializeServiceClient(this); + Credentials.InitializeServiceClient(this); } } @@ -260,7 +281,7 @@ public WebSiteManagementClient(Uri baseUri, ServiceClientCredentials credentials /// Optional. The base URI of the service. /// /// - /// Required. Gets Azure subscription credentials. + /// Required. Credentials needed for the client to connect to Azure. /// /// /// Optional. The http client handler used to handle http transport. @@ -268,81 +289,98 @@ public WebSiteManagementClient(Uri baseUri, ServiceClientCredentials credentials /// /// Optional. The delegating handlers to add to the http client pipeline. /// - public WebSiteManagementClient(Uri baseUri, ServiceClientCredentials credentials, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers) + /// + /// Thrown when a required parameter is null + /// + public WebSiteManagementClient(System.Uri baseUri, ServiceClientCredentials credentials, System.Net.Http.HttpClientHandler rootHandler, params System.Net.Http.DelegatingHandler[] handlers) : this(rootHandler, handlers) { if (baseUri == null) { - throw new ArgumentNullException("baseUri"); + throw new System.ArgumentNullException("baseUri"); } if (credentials == null) { - throw new ArgumentNullException("credentials"); + throw new System.ArgumentNullException("credentials"); } - this.BaseUri = baseUri; - this.Credentials = credentials; - if (this.Credentials != null) + BaseUri = baseUri; + Credentials = credentials; + if (Credentials != null) { - this.Credentials.InitializeServiceClient(this); + Credentials.InitializeServiceClient(this); } } + /// + /// An optional partial-method to perform custom initialization. + /// + partial void CustomInitialize(); /// /// Initializes client properties. /// private void Initialize() { - this.HttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - this.AppServiceCertificateOrders = new AppServiceCertificateOrdersOperations(this); - this.AppServiceEnvironments = new AppServiceEnvironmentsOperations(this); - this.AppServicePlans = new AppServicePlansOperations(this); - this.Certificates = new CertificatesOperations(this); - this.Domains = new DomainsOperations(this); - this.Recommendations = new RecommendationsOperations(this); - this.TopLevelDomains = new TopLevelDomainsOperations(this); - this.WebApps = new WebAppsOperations(this); - this.BaseUri = new Uri("https://management.azure.com"); - this.AcceptLanguage = "en-US"; - this.LongRunningOperationRetryTimeout = 30; - this.GenerateClientRequestId = true; - SerializationSettings = new JsonSerializerSettings - { - Formatting = Formatting.Indented, - DateFormatHandling = DateFormatHandling.IsoDateFormat, - DateTimeZoneHandling = DateTimeZoneHandling.Utc, - NullValueHandling = NullValueHandling.Ignore, - ReferenceLoopHandling = ReferenceLoopHandling.Serialize, + this.HttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + AppServiceCertificateOrders = new AppServiceCertificateOrdersOperations(this); + AppServiceEnvironments = new AppServiceEnvironmentsOperations(this); + AppServicePlans = new AppServicePlansOperations(this); + Certificates = new CertificatesOperations(this); + Domains = new DomainsOperations(this); + Recommendations = new RecommendationsOperations(this); + TopLevelDomains = new TopLevelDomainsOperations(this); + WebApps = new WebAppsOperations(this); + DeletedWebApps = new DeletedWebAppsOperations(this); + BaseUri = new System.Uri("https://management.azure.com"); + AcceptLanguage = "en-US"; + LongRunningOperationRetryTimeout = 30; + GenerateClientRequestId = true; + SerializationSettings = new Newtonsoft.Json.JsonSerializerSettings + { + Formatting = Newtonsoft.Json.Formatting.Indented, + DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, + DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, + NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, + ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), - Converters = new List + Converters = new System.Collections.Generic.List { new Iso8601TimeSpanConverter() } }; SerializationSettings.Converters.Add(new TransformationJsonConverter()); - DeserializationSettings = new JsonSerializerSettings + DeserializationSettings = new Newtonsoft.Json.JsonSerializerSettings { - DateFormatHandling = DateFormatHandling.IsoDateFormat, - DateTimeZoneHandling = DateTimeZoneHandling.Utc, - NullValueHandling = NullValueHandling.Ignore, - ReferenceLoopHandling = ReferenceLoopHandling.Serialize, + DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, + DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, + NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, + ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), - Converters = new List + Converters = new System.Collections.Generic.List { new Iso8601TimeSpanConverter() } }; + CustomInitialize(); DeserializationSettings.Converters.Add(new TransformationJsonConverter()); - DeserializationSettings.Converters.Add(new CloudErrorJsonConverter()); - } + DeserializationSettings.Converters.Add(new CloudErrorJsonConverter()); + } /// - /// Gets the source controls available for Azure websites + /// Gets the source controls available for Azure websites. /// - /// Gets the source controls available for Azure websites + /// + /// Gets the source controls available for Azure websites. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// /// /// A response object containing the response body and response headers. /// @@ -361,34 +399,34 @@ private void Initialize() ServiceClientTracing.Enter(_invocationId, this, "ListSourceControls", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "providers/Microsoft.Web/sourcecontrols").ToString(); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "providers/Microsoft.Web/sourcecontrols").ToString(); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -405,10 +443,10 @@ private void Initialize() // Serialize Request string _requestContent = null; // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -416,7 +454,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -430,14 +468,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -472,9 +510,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -492,11 +530,16 @@ private void Initialize() } /// - /// Check if resource name is available + /// Updates source control token /// - /// Check if resource name is available - /// - /// Name availability request + /// + /// Updates source control token + /// + /// + /// Type of source control + /// + /// + /// Source control token information /// /// /// Headers that will be added to request. @@ -504,18 +547,34 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> CheckNameAvailabilityWithHttpMessagesAsync(ResourceNameAvailabilityRequest request, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateSourceControlWithHttpMessagesAsync(string sourceControlType, SourceControl requestMessage, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (request == null) + if (sourceControlType == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "request"); + throw new ValidationException(ValidationRules.CannotBeNull, "sourceControlType"); } - if (this.SubscriptionId == null) + if (requestMessage == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); + throw new ValidationException(ValidationRules.CannotBeNull, "requestMessage"); + } + if (requestMessage != null) + { + requestMessage.Validate(); } string apiVersion = "2016-03-01"; // Tracing @@ -525,41 +584,42 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("request", request); + tracingParameters.Add("sourceControlType", sourceControlType); + tracingParameters.Add("requestMessage", requestMessage); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CheckNameAvailability", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdateSourceControl", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "providers/Microsoft.Web/sourcecontrols/{sourceControlType}").ToString(); + _url = _url.Replace("{sourceControlType}", System.Uri.EscapeDataString(sourceControlType)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -575,17 +635,17 @@ private void Initialize() // Serialize Request string _requestContent = null; - if(request != null) + if(requestMessage != null) { - _requestContent = SafeJsonConvert.SerializeObject(request, this.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = SafeJsonConvert.SerializeObject(requestMessage, SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -593,7 +653,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -607,14 +667,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -636,7 +696,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -649,9 +709,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -669,11 +729,20 @@ private void Initialize() } /// - /// Gets list of available geo regions + /// Check if a resource name is available. /// - /// Gets list of available geo regions - /// - /// Filter only to regions that support this sku + /// + /// Check if a resource name is available. + /// + /// + /// Resource name to verify. + /// + /// + /// Resource type used for verification. Possible values include: 'Site', + /// 'Slot', 'HostingEnvironment' + /// + /// + /// Is fully qualified domain name. /// /// /// Headers that will be added to request. @@ -681,16 +750,43 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetSubscriptionGeoRegionsWithHttpMessagesAsync(string sku = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CheckNameAvailabilityWithHttpMessagesAsync(string name, string type, bool? isFqdn = default(bool?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.SubscriptionId == null) + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } + if (name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "name"); + } + if (type == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "type"); + } string apiVersion = "2016-03-01"; + ResourceNameAvailabilityRequest request = new ResourceNameAvailabilityRequest(); + if (name != null || type != null || isFqdn != null) + { + request.Name = name; + request.Type = type; + request.IsFqdn = isFqdn; + } // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -698,45 +794,41 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("sku", sku); tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("request", request); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSubscriptionGeoRegions", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "CheckNameAvailability", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); - if (sku != null) - { - _queryParameters.Add(string.Format("sku={0}", Uri.EscapeDataString(sku))); - } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -752,11 +844,17 @@ private void Initialize() // Serialize Request string _requestContent = null; + if(request != null) + { + _requestContent = SafeJsonConvert.SerializeObject(request, SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -764,7 +862,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -778,14 +876,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -807,7 +905,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -820,9 +918,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -840,11 +938,14 @@ private void Initialize() } /// - /// Whether hosting environment name is available + /// Get a list of available geographical regions. /// - /// Whether hosting environment name is available - /// - /// Hosting environment name + /// + /// Get a list of available geographical regions. + /// + /// + /// Name of SKU used to filter the regions. Possible values include: 'Free', + /// 'Shared', 'Basic', 'Standard', 'Premium', 'Dynamic' /// /// /// Headers that will be added to request. @@ -852,16 +953,24 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> IsHostingEnvironmentNameAvailableWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListGeoRegionsWithHttpMessagesAsync(string sku = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (this.SubscriptionId == null) + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -873,45 +982,45 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); + tracingParameters.Add("sku", sku); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "IsHostingEnvironmentNameAvailable", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListGeoRegions", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); - if (name != null) + if (sku != null) { - _queryParameters.Add(string.Format("name={0}", Uri.EscapeDataString(name))); + _queryParameters.Add(string.Format("sku={0}", System.Uri.EscapeDataString(sku))); } if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -928,10 +1037,10 @@ private void Initialize() // Serialize Request string _requestContent = null; // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -939,7 +1048,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -953,14 +1062,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -982,7 +1091,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -995,9 +1104,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1015,28 +1124,35 @@ private void Initialize() } /// - /// Whether hosting environment name is available + /// List all premier add-on offers. /// - /// Whether hosting environment name is available - /// - /// Hosting environment name - /// + /// + /// List all premier add-on offers. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> IsHostingEnvironmentWithLegacyNameAvailableWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListPremierAddOnOffersWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (this.SubscriptionId == null) + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -1048,42 +1164,40 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "IsHostingEnvironmentWithLegacyNameAvailable", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPremierAddOnOffers", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}").ToString(); - _url = _url.Replace("{name}", Uri.EscapeDataString(name)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -1100,10 +1214,10 @@ private void Initialize() // Serialize Request string _requestContent = null; // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1111,7 +1225,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1125,14 +1239,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1154,7 +1268,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1167,9 +1281,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1187,21 +1301,35 @@ private void Initialize() } /// - /// List premier add on offers + /// Get the publishing credentials for the subscription owner. /// - /// List premier add on offers + /// + /// Get the publishing credentials for the subscription owner. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListPremierAddOnOffersWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetPublishingCredentialsWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.SubscriptionId == null) + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -1215,38 +1343,38 @@ private void Initialize() Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListPremierAddOnOffers", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "GetPublishingCredentials", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -1263,10 +1391,10 @@ private void Initialize() // Serialize Request string _requestContent = null; // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1274,7 +1402,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1288,14 +1416,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1317,7 +1445,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1330,9 +1458,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1350,21 +1478,46 @@ private void Initialize() } /// - /// Gets publishing credentials for the subscription owner + /// Update the publishing credentials for the subscription owner. /// - /// Gets publishing credentials for the subscription owner + /// + /// Update the publishing credentials for the subscription owner. + /// + /// + /// A request message with the new publishing credentials. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> GetPublishingCredentialsWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdatePublishingCredentialsWithHttpMessagesAsync(User requestMessage, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.SubscriptionId == null) + if (requestMessage == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "requestMessage"); + } + if (requestMessage != null) + { + requestMessage.Validate(); + } + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -1376,40 +1529,41 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("requestMessage", requestMessage); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetPublishingCredentials", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "UpdatePublishingCredentials", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -1425,11 +1579,17 @@ private void Initialize() // Serialize Request string _requestContent = null; + if(requestMessage != null) + { + _requestContent = SafeJsonConvert.SerializeObject(requestMessage, SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1437,7 +1597,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1451,14 +1611,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1493,9 +1653,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1513,32 +1673,35 @@ private void Initialize() } /// - /// Updates publishing credentials for the subscription owner + /// List all SKUs. /// - /// Updates publishing credentials for the subscription owner - /// - /// requestMessage with new publishing credentials - /// + /// + /// List all SKUs. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> UpdatePublishingCredentialsWithHttpMessagesAsync(User requestMessage, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ListSkusWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (requestMessage == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "requestMessage"); - } - if (requestMessage != null) - { - requestMessage.Validate(); - } - if (this.SubscriptionId == null) + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -1550,41 +1713,40 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("requestMessage", requestMessage); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdatePublishingCredentials", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSkus", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/skus").ToString(); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -1600,17 +1762,11 @@ private void Initialize() // Serialize Request string _requestContent = null; - if(requestMessage != null) - { - _requestContent = SafeJsonConvert.SerializeObject(requestMessage, this.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1618,7 +1774,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1632,14 +1788,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -1661,7 +1817,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -1674,9 +1830,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -1694,21 +1850,65 @@ private void Initialize() } /// - /// Get skus + /// Move resources between resource groups. /// - /// Get skus + /// + /// Move resources between resource groups. + /// + /// + /// Name of the resource group to which the resource belongs. + /// + /// + /// Object that represents the resource to move. + /// /// /// Headers that will be added to request. /// /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ListSkusWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task MoveWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (this.SubscriptionId == null) + if (resourceGroupName == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); + } + if (resourceGroupName != null) + { + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } + } + if (moveResourceEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "moveResourceEnvelope"); + } + if (moveResourceEnvelope != null) + { + moveResourceEnvelope.Validate(); + } + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -1720,40 +1920,43 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("resourceGroupName", resourceGroupName); + tracingParameters.Add("moveResourceEnvelope", moveResourceEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSkus", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Move", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Web/skus").ToString(); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -1769,11 +1972,17 @@ private void Initialize() // Serialize Request string _requestContent = null; + if(moveResourceEnvelope != null) + { + _requestContent = SafeJsonConvert.SerializeObject(moveResourceEnvelope, SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1781,7 +1990,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1789,22 +1998,14 @@ private void Initialize() HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -1824,31 +2025,13 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -1857,14 +2040,16 @@ private void Initialize() } /// - /// Move resources between resource groups + /// Validate if a resource can be created. /// - /// Move resources between resource groups + /// + /// Validate if a resource can be created. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// - /// - /// Object representing resource to move + /// + /// Request with the resources to validate. /// /// /// Headers that will be added to request. @@ -1872,20 +2057,51 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> MoveResourcesWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> ValidateWithHttpMessagesAsync(string resourceGroupName, ValidateRequest validateRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (moveResourceEnvelope == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "moveResourceEnvelope"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (this.SubscriptionId == null) + if (validateRequest == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "validateRequest"); + } + if (validateRequest != null) + { + validateRequest.Validate(); + } + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -1898,42 +2114,42 @@ private void Initialize() _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("moveResourceEnvelope", moveResourceEnvelope); + tracingParameters.Add("validateRequest", validateRequest); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "MoveResources", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "Validate", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -1949,17 +2165,17 @@ private void Initialize() // Serialize Request string _requestContent = null; - if(moveResourceEnvelope != null) + if(validateRequest != null) { - _requestContent = SafeJsonConvert.SerializeObject(moveResourceEnvelope, this.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = SafeJsonConvert.SerializeObject(validateRequest, SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -1967,7 +2183,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -1981,14 +2197,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2010,7 +2226,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2023,9 +2239,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2043,14 +2259,16 @@ private void Initialize() } /// - /// Validates if a resource can be created + /// Validate whether a resource can be moved. /// - /// Validates if a resource can be created + /// + /// Validate whether a resource can be moved. + /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// - /// - /// Object representing resources to validate + /// + /// Object that represents the resource to move. /// /// /// Headers that will be added to request. @@ -2058,20 +2276,48 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ValidateWithHttpMessagesAsync(string resourceGroupName, ValidateRequest validateRequest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task ValidateMoveWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); } - if (validateRequest == null) + if (resourceGroupName != null) { - throw new ValidationException(ValidationRules.CannotBeNull, "validateRequest"); + if (resourceGroupName.Length > 90) + { + throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); + } + if (resourceGroupName.Length < 1) + { + throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+[^\\.]$")) + { + throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+[^\\.]$"); + } } - if (this.SubscriptionId == null) + if (moveResourceEnvelope == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "moveResourceEnvelope"); + } + if (moveResourceEnvelope != null) + { + moveResourceEnvelope.Validate(); + } + if (SubscriptionId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); } @@ -2084,42 +2330,42 @@ private void Initialize() _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("validateRequest", validateRequest); + tracingParameters.Add("moveResourceEnvelope", moveResourceEnvelope); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Validate", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ValidateMove", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + var _baseUrl = BaseUri.AbsoluteUri; + var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources").ToString(); + _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); + _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(SubscriptionId)); List _queryParameters = new List(); if (apiVersion != null) { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); + _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -2135,17 +2381,17 @@ private void Initialize() // Serialize Request string _requestContent = null; - if(validateRequest != null) + if(moveResourceEnvelope != null) { - _requestContent = SafeJsonConvert.SerializeObject(validateRequest, this.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + _requestContent = SafeJsonConvert.SerializeObject(moveResourceEnvelope, SerializationSettings); + _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2153,7 +2399,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2161,22 +2407,14 @@ private void Initialize() HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; - if ((int)_statusCode != 200) + if ((int)_statusCode != 204) { var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { + if (_httpResponse.Content != null) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } } - catch (JsonException) - { - // Ignore the exception + else { + _responseContent = string.Empty; } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); @@ -2196,31 +2434,13 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } if (_shouldTrace) { ServiceClientTracing.Exit(_invocationId, _result); @@ -2229,14 +2449,13 @@ private void Initialize() } /// - /// Validate specified resources can be moved + /// Gets the source controls available for Azure websites. /// - /// Validate specified resources can be moved - /// - /// Resource group - /// - /// - /// Object representing resource to move + /// + /// Gets the source controls available for Azure websites. + /// + /// + /// The NextLink from the previous successful call to List operation. /// /// /// Headers that will be added to request. @@ -2244,24 +2463,27 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task> ValidateMoveResourcesWithHttpMessagesAsync(string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListSourceControlsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (moveResourceEnvelope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "moveResourceEnvelope"); - } - if (this.SubscriptionId == null) + if (nextPageLink == null) { - throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionId"); + throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink"); } - string apiVersion = "2016-03-01"; // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -2269,43 +2491,35 @@ private void Initialize() { _invocationId = ServiceClientTracing.NextInvocationId.ToString(); Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("moveResourceEnvelope", moveResourceEnvelope); - tracingParameters.Add("apiVersion", apiVersion); + tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ValidateMoveResources", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListSourceControlsNext", tracingParameters); } // Construct URL - var _baseUrl = this.BaseUri.AbsoluteUri; - var _url = new Uri(new Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources").ToString(); - _url = _url.Replace("{resourceGroupName}", Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{subscriptionId}", Uri.EscapeDataString(this.SubscriptionId)); + string _url = "{nextLink}"; + _url = _url.Replace("{nextLink}", nextPageLink); List _queryParameters = new List(); - if (apiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", Uri.EscapeDataString(apiVersion))); - } if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -2321,17 +2535,11 @@ private void Initialize() // Serialize Request string _requestContent = null; - if(moveResourceEnvelope != null) - { - _requestContent = SafeJsonConvert.SerializeObject(moveResourceEnvelope, this.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, Encoding.UTF8); - _httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2339,7 +2547,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2353,14 +2561,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2382,7 +2590,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2395,9 +2603,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2415,9 +2623,11 @@ private void Initialize() } /// - /// Gets the source controls available for Azure websites + /// Get a list of available geographical regions. /// - /// Gets the source controls available for Azure websites + /// + /// Get a list of available geographical regions. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -2427,10 +2637,22 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> ListSourceControlsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListGeoRegionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -2445,7 +2667,7 @@ private void Initialize() Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "ListSourceControlsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListGeoRegionsNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -2453,25 +2675,25 @@ private void Initialize() List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -2488,10 +2710,10 @@ private void Initialize() // Serialize Request string _requestContent = null; // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2499,7 +2721,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2513,14 +2735,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2542,7 +2764,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2555,9 +2777,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2575,9 +2797,11 @@ private void Initialize() } /// - /// Gets list of available geo regions + /// List all premier add-on offers. /// - /// Gets list of available geo regions + /// + /// List all premier add-on offers. + /// /// /// The NextLink from the previous successful call to List operation. /// @@ -2587,10 +2811,22 @@ private void Initialize() /// /// The cancellation token. /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// /// /// A response object containing the response body and response headers. /// - public async Task>> GetSubscriptionGeoRegionsNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListPremierAddOnOffersNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (nextPageLink == null) { @@ -2605,7 +2841,7 @@ private void Initialize() Dictionary tracingParameters = new Dictionary(); tracingParameters.Add("nextPageLink", nextPageLink); tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetSubscriptionGeoRegionsNext", tracingParameters); + ServiceClientTracing.Enter(_invocationId, this, "ListPremierAddOnOffersNext", tracingParameters); } // Construct URL string _url = "{nextLink}"; @@ -2613,25 +2849,25 @@ private void Initialize() List _queryParameters = new List(); if (_queryParameters.Count > 0) { - _url += "?" + string.Join("&", _queryParameters); + _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects - HttpRequestMessage _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new Uri(_url); + var _httpRequest = new System.Net.Http.HttpRequestMessage(); + System.Net.Http.HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new System.Net.Http.HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); // Set Headers - if (this.GenerateClientRequestId != null && this.GenerateClientRequestId.Value) + if (GenerateClientRequestId != null && GenerateClientRequestId.Value) { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", Guid.NewGuid().ToString()); + _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } - if (this.AcceptLanguage != null) + if (AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.AcceptLanguage); + _httpRequest.Headers.TryAddWithoutValidation("accept-language", AcceptLanguage); } if (customHeaders != null) { @@ -2648,10 +2884,10 @@ private void Initialize() // Serialize Request string _requestContent = null; // Set Credentials - if (this.Credentials != null) + if (Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); - await this.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + await Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) @@ -2659,7 +2895,7 @@ private void Initialize() ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await this.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); @@ -2673,14 +2909,14 @@ private void Initialize() try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, this.DeserializationSettings); + CloudError _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); if (_errorBody != null) { ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } - catch (JsonException) + catch (Newtonsoft.Json.JsonException) { // Ignore the exception } @@ -2702,7 +2938,7 @@ private void Initialize() throw ex; } // Create Result - var _result = new AzureOperationResponse>(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -2715,9 +2951,9 @@ private void Initialize() _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, this.DeserializationSettings); + _result.Body = SafeJsonConvert.DeserializeObject>(_responseContent, DeserializationSettings); } - catch (JsonException ex) + catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) @@ -2736,3 +2972,4 @@ private void Initialize() } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClientExtensions.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClientExtensions.cs index 99b34a28e419..33b1ec4920e9 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClientExtensions.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Generated/WebSiteManagementClientExtensions.cs @@ -1,21 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for // license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. namespace Microsoft.Azure.Management.WebSites { - using System; - using System.Collections; - using System.Collections.Generic; + using Azure; + using Management; + using Rest; + using Rest.Azure; + using Models; using System.Threading; using System.Threading.Tasks; - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; /// /// Extension methods for WebSiteManagementClient. @@ -23,21 +22,25 @@ namespace Microsoft.Azure.Management.WebSites public static partial class WebSiteManagementClientExtensions { /// - /// Gets the source controls available for Azure websites + /// Gets the source controls available for Azure websites. /// - /// Gets the source controls available for Azure websites + /// + /// Gets the source controls available for Azure websites. + /// /// /// The operations group for this extension method. /// public static IPage ListSourceControls(this IWebSiteManagementClient operations) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).ListSourceControlsAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSourceControlsAsync().GetAwaiter().GetResult(); } /// - /// Gets the source controls available for Azure websites + /// Gets the source controls available for Azure websites. /// - /// Gets the source controls available for Azure websites + /// + /// Gets the source controls available for Azure websites. + /// /// /// The operations group for this extension method. /// @@ -53,172 +56,174 @@ public static IPage ListSourceControls(this IWebSiteManagementCli } /// - /// Check if resource name is available + /// Updates source control token /// - /// Check if resource name is available + /// + /// Updates source control token + /// /// /// The operations group for this extension method. /// - /// - /// Name availability request + /// + /// Type of source control /// - public static ResourceNameAvailability CheckNameAvailability(this IWebSiteManagementClient operations, ResourceNameAvailabilityRequest request) + /// + /// Source control token information + /// + public static SourceControl UpdateSourceControl(this IWebSiteManagementClient operations, string sourceControlType, SourceControl requestMessage) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).CheckNameAvailabilityAsync(request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdateSourceControlAsync(sourceControlType, requestMessage).GetAwaiter().GetResult(); } /// - /// Check if resource name is available + /// Updates source control token /// - /// Check if resource name is available + /// + /// Updates source control token + /// /// /// The operations group for this extension method. /// - /// - /// Name availability request + /// + /// Type of source control + /// + /// + /// Source control token information /// /// /// The cancellation token. /// - public static async Task CheckNameAvailabilityAsync(this IWebSiteManagementClient operations, ResourceNameAvailabilityRequest request, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task UpdateSourceControlAsync(this IWebSiteManagementClient operations, string sourceControlType, SourceControl requestMessage, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CheckNameAvailabilityWithHttpMessagesAsync(request, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateSourceControlWithHttpMessagesAsync(sourceControlType, requestMessage, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Gets list of available geo regions + /// Check if a resource name is available. /// - /// Gets list of available geo regions + /// + /// Check if a resource name is available. + /// /// /// The operations group for this extension method. /// - /// - /// Filter only to regions that support this sku + /// + /// Resource name to verify. /// - public static IPage GetSubscriptionGeoRegions(this IWebSiteManagementClient operations, string sku = default(string)) - { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).GetSubscriptionGeoRegionsAsync(sku), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Gets list of available geo regions - /// - /// Gets list of available geo regions - /// - /// The operations group for this extension method. + /// + /// Resource type used for verification. Possible values include: 'Site', + /// 'Slot', 'HostingEnvironment' /// - /// - /// Filter only to regions that support this sku + /// + /// Is fully qualified domain name. /// - /// - /// The cancellation token. - /// - public static async Task> GetSubscriptionGeoRegionsAsync(this IWebSiteManagementClient operations, string sku = default(string), CancellationToken cancellationToken = default(CancellationToken)) + public static ResourceNameAvailability CheckNameAvailability(this IWebSiteManagementClient operations, string name, string type, bool? isFqdn = default(bool?)) { - using (var _result = await operations.GetSubscriptionGeoRegionsWithHttpMessagesAsync(sku, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + return operations.CheckNameAvailabilityAsync(name, type, isFqdn).GetAwaiter().GetResult(); } /// - /// Whether hosting environment name is available + /// Check if a resource name is available. /// - /// Whether hosting environment name is available + /// + /// Check if a resource name is available. + /// /// /// The operations group for this extension method. /// /// - /// Hosting environment name + /// Resource name to verify. /// - public static object IsHostingEnvironmentNameAvailable(this IWebSiteManagementClient operations, string name) - { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).IsHostingEnvironmentNameAvailableAsync(name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); - } - - /// - /// Whether hosting environment name is available - /// - /// Whether hosting environment name is available - /// - /// The operations group for this extension method. + /// + /// Resource type used for verification. Possible values include: 'Site', + /// 'Slot', 'HostingEnvironment' /// - /// - /// Hosting environment name + /// + /// Is fully qualified domain name. /// /// /// The cancellation token. /// - public static async Task IsHostingEnvironmentNameAvailableAsync(this IWebSiteManagementClient operations, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task CheckNameAvailabilityAsync(this IWebSiteManagementClient operations, string name, string type, bool? isFqdn = default(bool?), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.IsHostingEnvironmentNameAvailableWithHttpMessagesAsync(name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CheckNameAvailabilityWithHttpMessagesAsync(name, type, isFqdn, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// Whether hosting environment name is available + /// Get a list of available geographical regions. /// - /// Whether hosting environment name is available + /// + /// Get a list of available geographical regions. + /// /// /// The operations group for this extension method. /// - /// - /// Hosting environment name + /// + /// Name of SKU used to filter the regions. Possible values include: 'Free', + /// 'Shared', 'Basic', 'Standard', 'Premium', 'Dynamic' /// - public static object IsHostingEnvironmentWithLegacyNameAvailable(this IWebSiteManagementClient operations, string name) + public static IPage ListGeoRegions(this IWebSiteManagementClient operations, string sku = default(string)) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).IsHostingEnvironmentWithLegacyNameAvailableAsync(name), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListGeoRegionsAsync(sku).GetAwaiter().GetResult(); } /// - /// Whether hosting environment name is available + /// Get a list of available geographical regions. /// - /// Whether hosting environment name is available + /// + /// Get a list of available geographical regions. + /// /// /// The operations group for this extension method. /// - /// - /// Hosting environment name + /// + /// Name of SKU used to filter the regions. Possible values include: 'Free', + /// 'Shared', 'Basic', 'Standard', 'Premium', 'Dynamic' /// /// /// The cancellation token. /// - public static async Task IsHostingEnvironmentWithLegacyNameAvailableAsync(this IWebSiteManagementClient operations, string name, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListGeoRegionsAsync(this IWebSiteManagementClient operations, string sku = default(string), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.IsHostingEnvironmentWithLegacyNameAvailableWithHttpMessagesAsync(name, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListGeoRegionsWithHttpMessagesAsync(sku, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } } /// - /// List premier add on offers + /// List all premier add-on offers. /// - /// List premier add on offers + /// + /// List all premier add-on offers. + /// /// /// The operations group for this extension method. /// - public static object ListPremierAddOnOffers(this IWebSiteManagementClient operations) + public static IPage ListPremierAddOnOffers(this IWebSiteManagementClient operations) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).ListPremierAddOnOffersAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPremierAddOnOffersAsync().GetAwaiter().GetResult(); } /// - /// List premier add on offers + /// List all premier add-on offers. /// - /// List premier add on offers + /// + /// List all premier add-on offers. + /// /// /// The operations group for this extension method. /// /// /// The cancellation token. /// - public static async Task ListPremierAddOnOffersAsync(this IWebSiteManagementClient operations, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListPremierAddOnOffersAsync(this IWebSiteManagementClient operations, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListPremierAddOnOffersWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false)) { @@ -227,21 +232,25 @@ public static object ListPremierAddOnOffers(this IWebSiteManagementClient operat } /// - /// Gets publishing credentials for the subscription owner + /// Get the publishing credentials for the subscription owner. /// - /// Gets publishing credentials for the subscription owner + /// + /// Get the publishing credentials for the subscription owner. + /// /// /// The operations group for this extension method. /// public static User GetPublishingCredentials(this IWebSiteManagementClient operations) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).GetPublishingCredentialsAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.GetPublishingCredentialsAsync().GetAwaiter().GetResult(); } /// - /// Gets publishing credentials for the subscription owner + /// Get the publishing credentials for the subscription owner. /// - /// Gets publishing credentials for the subscription owner + /// + /// Get the publishing credentials for the subscription owner. + /// /// /// The operations group for this extension method. /// @@ -257,29 +266,33 @@ public static User GetPublishingCredentials(this IWebSiteManagementClient operat } /// - /// Updates publishing credentials for the subscription owner + /// Update the publishing credentials for the subscription owner. /// - /// Updates publishing credentials for the subscription owner + /// + /// Update the publishing credentials for the subscription owner. + /// /// /// The operations group for this extension method. /// /// - /// requestMessage with new publishing credentials + /// A request message with the new publishing credentials. /// public static User UpdatePublishingCredentials(this IWebSiteManagementClient operations, User requestMessage) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).UpdatePublishingCredentialsAsync(requestMessage), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.UpdatePublishingCredentialsAsync(requestMessage).GetAwaiter().GetResult(); } /// - /// Updates publishing credentials for the subscription owner + /// Update the publishing credentials for the subscription owner. /// - /// Updates publishing credentials for the subscription owner + /// + /// Update the publishing credentials for the subscription owner. + /// /// /// The operations group for this extension method. /// /// - /// requestMessage with new publishing credentials + /// A request message with the new publishing credentials. /// /// /// The cancellation token. @@ -293,28 +306,32 @@ public static User UpdatePublishingCredentials(this IWebSiteManagementClient ope } /// - /// Get skus + /// List all SKUs. /// - /// Get skus + /// + /// List all SKUs. + /// /// /// The operations group for this extension method. /// - public static object ListSkus(this IWebSiteManagementClient operations) + public static SkuInfos ListSkus(this IWebSiteManagementClient operations) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).ListSkusAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSkusAsync().GetAwaiter().GetResult(); } /// - /// Get skus + /// List all SKUs. /// - /// Get skus + /// + /// List all SKUs. + /// /// /// The operations group for this extension method. /// /// /// The cancellation token. /// - public static async Task ListSkusAsync(this IWebSiteManagementClient operations, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ListSkusAsync(this IWebSiteManagementClient operations, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListSkusWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false)) { @@ -323,77 +340,82 @@ public static object ListSkus(this IWebSiteManagementClient operations) } /// - /// Move resources between resource groups + /// Move resources between resource groups. /// - /// Move resources between resource groups + /// + /// Move resources between resource groups. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resource to move + /// Object that represents the resource to move. /// - public static object MoveResources(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope) + public static void Move(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).MoveResourcesAsync(resourceGroupName, moveResourceEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.MoveAsync(resourceGroupName, moveResourceEnvelope).GetAwaiter().GetResult(); } /// - /// Move resources between resource groups + /// Move resources between resource groups. /// - /// Move resources between resource groups + /// + /// Move resources between resource groups. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resource to move + /// Object that represents the resource to move. /// /// /// The cancellation token. /// - public static async Task MoveResourcesAsync(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task MoveAsync(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.MoveResourcesWithHttpMessagesAsync(resourceGroupName, moveResourceEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.MoveWithHttpMessagesAsync(resourceGroupName, moveResourceEnvelope, null, cancellationToken).ConfigureAwait(false); } /// - /// Validates if a resource can be created + /// Validate if a resource can be created. /// - /// Validates if a resource can be created + /// + /// Validate if a resource can be created. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resources to validate + /// Request with the resources to validate. /// public static ValidateResponse Validate(this IWebSiteManagementClient operations, string resourceGroupName, ValidateRequest validateRequest) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).ValidateAsync(resourceGroupName, validateRequest), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ValidateAsync(resourceGroupName, validateRequest).GetAwaiter().GetResult(); } /// - /// Validates if a resource can be created + /// Validate if a resource can be created. /// - /// Validates if a resource can be created + /// + /// Validate if a resource can be created. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resources to validate + /// Request with the resources to validate. /// /// /// The cancellation token. @@ -407,51 +429,54 @@ public static ValidateResponse Validate(this IWebSiteManagementClient operations } /// - /// Validate specified resources can be moved + /// Validate whether a resource can be moved. /// - /// Validate specified resources can be moved + /// + /// Validate whether a resource can be moved. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resource to move + /// Object that represents the resource to move. /// - public static object ValidateMoveResources(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope) + public static void ValidateMove(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).ValidateMoveResourcesAsync(resourceGroupName, moveResourceEnvelope), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + operations.ValidateMoveAsync(resourceGroupName, moveResourceEnvelope).GetAwaiter().GetResult(); } /// - /// Validate specified resources can be moved + /// Validate whether a resource can be moved. /// - /// Validate specified resources can be moved + /// + /// Validate whether a resource can be moved. + /// /// /// The operations group for this extension method. /// /// - /// Resource group + /// Name of the resource group to which the resource belongs. /// /// - /// Object representing resource to move + /// Object that represents the resource to move. /// /// /// The cancellation token. /// - public static async Task ValidateMoveResourcesAsync(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task ValidateMoveAsync(this IWebSiteManagementClient operations, string resourceGroupName, CsmMoveResourceEnvelope moveResourceEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.ValidateMoveResourcesWithHttpMessagesAsync(resourceGroupName, moveResourceEnvelope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } + await operations.ValidateMoveWithHttpMessagesAsync(resourceGroupName, moveResourceEnvelope, null, cancellationToken).ConfigureAwait(false); } /// - /// Gets the source controls available for Azure websites + /// Gets the source controls available for Azure websites. /// - /// Gets the source controls available for Azure websites + /// + /// Gets the source controls available for Azure websites. + /// /// /// The operations group for this extension method. /// @@ -460,13 +485,15 @@ public static object ValidateMoveResources(this IWebSiteManagementClient operati /// public static IPage ListSourceControlsNext(this IWebSiteManagementClient operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).ListSourceControlsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListSourceControlsNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets the source controls available for Azure websites + /// Gets the source controls available for Azure websites. /// - /// Gets the source controls available for Azure websites + /// + /// Gets the source controls available for Azure websites. + /// /// /// The operations group for this extension method. /// @@ -485,24 +512,68 @@ public static IPage ListSourceControlsNext(this IWebSiteManagemen } /// - /// Gets list of available geo regions + /// Get a list of available geographical regions. + /// + /// + /// Get a list of available geographical regions. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + public static IPage ListGeoRegionsNext(this IWebSiteManagementClient operations, string nextPageLink) + { + return operations.ListGeoRegionsNextAsync(nextPageLink).GetAwaiter().GetResult(); + } + + /// + /// Get a list of available geographical regions. + /// + /// + /// Get a list of available geographical regions. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The NextLink from the previous successful call to List operation. + /// + /// + /// The cancellation token. + /// + public static async Task> ListGeoRegionsNextAsync(this IWebSiteManagementClient operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListGeoRegionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// List all premier add-on offers. /// - /// Gets list of available geo regions + /// + /// List all premier add-on offers. + /// /// /// The operations group for this extension method. /// /// /// The NextLink from the previous successful call to List operation. /// - public static IPage GetSubscriptionGeoRegionsNext(this IWebSiteManagementClient operations, string nextPageLink) + public static IPage ListPremierAddOnOffersNext(this IWebSiteManagementClient operations, string nextPageLink) { - return Task.Factory.StartNew(s => ((IWebSiteManagementClient)s).GetSubscriptionGeoRegionsNextAsync(nextPageLink), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + return operations.ListPremierAddOnOffersNextAsync(nextPageLink).GetAwaiter().GetResult(); } /// - /// Gets list of available geo regions + /// List all premier add-on offers. /// - /// Gets list of available geo regions + /// + /// List all premier add-on offers. + /// /// /// The operations group for this extension method. /// @@ -512,9 +583,9 @@ public static IPage GetSubscriptionGeoRegionsNext(this IWebSiteManage /// /// The cancellation token. /// - public static async Task> GetSubscriptionGeoRegionsNextAsync(this IWebSiteManagementClient operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListPremierAddOnOffersNextAsync(this IWebSiteManagementClient operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.GetSubscriptionGeoRegionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.ListPremierAddOnOffersNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } @@ -522,3 +593,4 @@ public static IPage GetSubscriptionGeoRegionsNext(this IWebSiteManage } } + diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Properties/AssemblyInfo.cs b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Properties/AssemblyInfo.cs index 5a6487aa2dfa..f6f388b2a57e 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Properties/AssemblyInfo.cs +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/Properties/AssemblyInfo.cs @@ -21,7 +21,7 @@ [assembly: AssemblyDescription("Provides management functionality for Microsoft Azure Web Sites.")] [assembly: AssemblyVersion("1.0.0")] -[assembly: AssemblyFileVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.5.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("Azure .NET SDK")] diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/generate.cmd b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/generate.cmd index 9fb20dbdf1a8..e75bdd8e24e5 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/generate.cmd +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/generate.cmd @@ -4,7 +4,7 @@ :: @echo off -set autoRestVersion=0.16.0-Nightly20160406 +set autoRestVersion=1.0.0-Nightly20170124 if "%1" == "" ( set specFile="https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-web/compositeWebAppClient.json" ) else ( diff --git a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/project.json b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/project.json index c8c78cfb7c98..7f37d150d4cd 100644 --- a/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/project.json +++ b/src/ResourceManagement/WebSite/Microsoft.Azure.Management.Websites/project.json @@ -1,5 +1,5 @@ { - "version": "1.4.0-preview", + "version": "1.5.0-preview", "description": "Provides website management capabilities for Microsoft Azure.", "authors": [ "Microsoft" ], @@ -24,7 +24,7 @@ "frameworks": { "net45": { "dependencies": { - "Microsoft.Rest.ClientRuntime.Azure": "[3.1.0,4.0.0)" + "Microsoft.Rest.ClientRuntime.Azure": "[3.2.0,4.0.0)" } }, "netstandard1.5": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.Backup.ScenarioTests.cs b/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.Backup.ScenarioTests.cs index 1e95fef836b0..bda38b6f4096 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.Backup.ScenarioTests.cs +++ b/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.Backup.ScenarioTests.cs @@ -28,7 +28,7 @@ namespace WebSites.Tests.ScenarioTests { public class BackupRestoreScenarioTests : TestBase { - [Fact(Skip = "Backup/Restore feature is not allowed in current site mode.")] + [Fact] public void ListBackupsAndScheduledBackupRoundTrip() { using (var context = MockContext.Start(this.GetType().FullName)) @@ -54,8 +54,8 @@ public void ListBackupsAndScheduledBackupRoundTrip() Location = locationName, Sku = new SkuDescription { - Name = "F1", - Tier = "Free", + Name = "S1", + Tier = "Standard", Capacity = 1 } }); @@ -78,6 +78,7 @@ public void ListBackupsAndScheduledBackupRoundTrip() var sr = new BackupRequest() { + Location = locationName, Enabled = false, BackupSchedule = new BackupSchedule() { @@ -99,7 +100,7 @@ public void ListBackupsAndScheduledBackupRoundTrip() Assert.Equal(sr.BackupSchedule.FrequencyInterval, backupConfiguration.BackupSchedule.FrequencyInterval); Assert.Equal(sr.BackupSchedule.FrequencyUnit, backupConfiguration.BackupSchedule.FrequencyUnit); Assert.Equal(sr.BackupSchedule.KeepAtLeastOneBackup, backupConfiguration.BackupSchedule.KeepAtLeastOneBackup); - Assert.Equal(sr.Name, backupConfiguration.BackupRequestName); + Assert.Equal(sr.BackupRequestName, backupConfiguration.BackupRequestName); webSitesClient.WebApps.Delete(resourceGroupName, siteName, deleteMetrics: true); diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.ScenarioTests.cs b/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.ScenarioTests.cs index 9c9f4c3c2738..d974e201fd8a 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.ScenarioTests.cs +++ b/src/ResourceManagement/WebSite/WebSite.Tests/ScenarioTests/WebSite.ScenarioTests.cs @@ -45,7 +45,8 @@ public void CreateAndVerifyGetOnAWebsite() RunWebsiteTestScenario( (webSiteName, resourceGroupName, whpName, locationName, webSitesClient, resourcesClient) => { - var webSite = webSitesClient.WebApps.Get(resourceGroupName, webSiteName, "SiteConfig"); + var webSite = webSitesClient.WebApps.Get(resourceGroupName, webSiteName); + webSite.SiteConfig = webSitesClient.WebApps.GetConfiguration(resourceGroupName, webSiteName); Assert.Equal(webSiteName, webSite.Name); var serverfarmId = ResourceGroupHelper.GetServerFarmId(webSitesClient.SubscriptionId, @@ -65,7 +66,7 @@ public void CreateAndVerifyListOfWebsites() RunWebsiteTestScenario( (webSiteName, resourceGroupName, whpName, locationName, webSitesClient, resourcesClient) => { - var webSites = webSitesClient.WebApps.ListByResourceGroup(resourceGroupName, null, null); + var webSites = webSitesClient.WebApps.ListByResourceGroup(resourceGroupName, null); Assert.Equal(1, webSites.Count()); Assert.Equal(webSiteName, webSites.ToList()[0].Name); @@ -105,13 +106,14 @@ public void CreateAndDeleteWebsite() } //Fact(Skip = "Test does not work in playback mode due to key matching issue in test framework")] - [Fact(Skip="TODO: Fix datetime parsing in test to properly handle universal time and rerecord.")] + //[Fact(Skip="TODO: Fix datetime parsing in test to properly handle universal time and rerecord.")] + [Fact] public void GetSiteMetrics() { RunWebsiteTestScenario( (webSiteName, resourceGroupName, whpName, locationName, webSitesClient, resourcesClient) => { - var endTime = DateTime.Parse("2015-10-05T23:49:31Z"); + var endTime = DateTime.Parse("2017-01-28T00:23:02Z").ToUniversalTime(); var metricNames = new List {"Requests", "CPU", "MemoryWorkingSet"}; metricNames.Sort(); var result = webSitesClient.WebApps.ListMetrics(resourceGroupName: resourceGroupName, diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.BackupRestoreScenarioTests/ListBackupsAndScheduledBackupRoundTrip.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.BackupRestoreScenarioTests/ListBackupsAndScheduledBackupRoundTrip.json index 1258f7ab92cc..4dcc81078d50 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.BackupRestoreScenarioTests/ListBackupsAndScheduledBackupRoundTrip.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.BackupRestoreScenarioTests/ListBackupsAndScheduledBackupRoundTrip.json @@ -1,24 +1,32 @@ { "Entries": [ { - "RequestUri": "/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourcegroups/csmrg17?api-version=2015-11-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg7816?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNzgxNj9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"location\": \"West US\",\r\n \"tags\": {}\r\n}", + "RequestBody": "{\r\n \"location\": \"West US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "44" + "29" + ], + "x-ms-client-request-id": [ + "fa2a3b5c-b777-4283-a800-ee5f1c459bdd" + ], + "accept-language": [ + "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourceGroups/csmrg17\",\r\n \"name\": \"csmrg17\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816\",\r\n \"name\": \"csmrg7816\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ - "177" + "171" ], "Content-Type": [ "application/json; charset=utf-8" @@ -26,6 +34,12 @@ "Expires": [ "-1" ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 27 Jan 2017 19:04:56 GMT" + ], "Pragma": [ "no-cache" ], @@ -33,284 +47,568 @@ "1199" ], "x-ms-request-id": [ - "fe9b9c4f-2edf-4cca-96cd-acc6e7360923" + "ab2ddb9e-8c33-4303-8db2-675a4b927588" ], "x-ms-correlation-request-id": [ - "fe9b9c4f-2edf-4cca-96cd-acc6e7360923" + "ab2ddb9e-8c33-4303-8db2-675a4b927588" ], "x-ms-routing-request-id": [ - "WESTUS:20140919T220852Z:fe9b9c4f-2edf-4cca-96cd-acc6e7360923" + "WESTUS2:20170127T190457Z:ab2ddb9e-8c33-4303-8db2-675a4b927588" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 19 Sep 2014 22:08:51 GMT" ] }, "StatusCode": 201 }, { - "RequestUri": "/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourceGroups/csmrg17/providers/Microsoft.Web/serverFarms/csmsf385?api-version=2014-04-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/serverfarms/csmsf757?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjc1Nz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"sku\": \"Free\",\r\n \"numberOfWorkers\": 1,\r\n \"workerSize\": \"Small\"\r\n },\r\n \"name\": \"csmsf385\",\r\n \"location\": \"West US\",\r\n \"tags\": {}\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf757\",\r\n \"location\": \"West US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "166" + "133" + ], + "x-ms-client-request-id": [ + "910f5867-e33a-4f84-938c-36fcae35d4c6" + ], + "accept-language": [ + "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/2.0.0.0" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourceGroups/csmrg17/providers/Microsoft.Web/serverfarms/csmsf385\",\r\n \"name\": \"csmsf385\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"West US\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"name\": \"csmsf385\",\r\n \"sku\": \"Free\",\r\n \"workerSize\": 0,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg17-WestUSwebspace\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/serverfarms/csmsf757\",\r\n \"name\": \"csmsf757\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"West US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf757\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg7816-WestUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"West US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg7816\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-bay-067_6970\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { - "Content-Length": [ - "389" - ], "Content-Type": [ "application/json" ], "Expires": [ "-1" ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 27 Jan 2017 19:05:13 GMT" + ], "Pragma": [ "no-cache" ], + "Transfer-Encoding": [ + "chunked" + ], + "Server": [ + "Microsoft-IIS/8.0" + ], + "Vary": [ + "Accept-Encoding" + ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "783f793d-c83f-45df-8fd1-8bf8c231c3ef" + "22d892a7-1de4-42a1-8148-98b968cceaae" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ "1198" ], "x-ms-correlation-request-id": [ - "2d1ced82-3fb3-41c1-8680-52eb1897f5c2" + "83317224-06be-438c-b0ae-31107ed43238" ], "x-ms-routing-request-id": [ - "WESTUS:20140919T220855Z:2d1ced82-3fb3-41c1-8680-52eb1897f5c2" + "WESTUS2:20170127T190514Z:83317224-06be-438c-b0ae-31107ed43238" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/sites/csmws5492?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU0OTI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg7816/providers/Microsoft.Web/serverfarms/csmsf757\"\r\n },\r\n \"name\": \"csmws5492\",\r\n \"location\": \"West US\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "223" + ], + "x-ms-client-request-id": [ + "fb6d842d-402f-4013-9a4c-fc071fd38b04" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/sites/csmws5492\",\r\n \"name\": \"csmws5492\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"West US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws5492\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws5492.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg7816-WestUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-bay-067.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg7816-WestUSwebspace/sites/csmws5492\",\r\n \"repositorySiteName\": \"csmws5492\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws5492.azurewebsites.net\",\r\n \"csmws5492.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws5492.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws5492.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/serverfarms/csmsf757\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:05:16.39\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws5492\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.99.58.14,23.99.60.163,23.99.57.5,23.99.60.173\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-bay-067\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg7816\",\r\n \"defaultHostName\": \"csmws5492.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", + "ResponseHeaders": { + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" ], "Cache-Control": [ "no-cache" ], "Date": [ - "Fri, 19 Sep 2014 22:08:55 GMT" + "Fri, 27 Jan 2017 19:05:17 GMT" + ], + "Pragma": [ + "no-cache" + ], + "Transfer-Encoding": [ + "chunked" ], "Server": [ "Microsoft-IIS/8.0" ], + "Vary": [ + "Accept-Encoding" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "287a20bb-dd4e-40a3-b763-161905e3fdb1" + ], "X-AspNet-Version": [ "4.0.30319" ], "X-Powered-By": [ "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1197" + ], + "x-ms-correlation-request-id": [ + "733bdac1-a00f-46fd-958d-3c8e3e25a5b9" + ], + "x-ms-routing-request-id": [ + "WESTUS2:20170127T190517Z:733bdac1-a00f-46fd-958d-3c8e3e25a5b9" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourceGroups/csmrg17/providers/Microsoft.Web/sites/csmws5641?api-version=2014-04-01", - "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"ServerFarm\": \"csmsf385\"\r\n },\r\n \"name\": \"csmws5641\",\r\n \"location\": \"West US\",\r\n \"tags\": {}\r\n}", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/sites/csmws5492/backups?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU0OTIvYmFja3Vwcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestMethod": "GET", + "RequestBody": "", "RequestHeaders": { - "Content-Type": [ - "application/json; charset=utf-8" + "x-ms-client-request-id": [ + "5b52b731-fecd-45ca-a390-b2ad5a5e93b7" ], - "Content-Length": [ - "123" + "accept-language": [ + "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/2.0.0.0" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourceGroups/csmrg17/providers/Microsoft.Web/sites/csmws5641\",\r\n \"name\": \"csmws5641\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"West US\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"name\": \"csmws5641\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws5641.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg17-WestUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-bay-011.api.azurewebsites.windows.net:454/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/webspaces/csmrg17-WestUSwebspace/sites/csmws5641\",\r\n \"repositorySiteName\": \"csmws5641\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws5641.azurewebsites.net\",\r\n \"csmws5641.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws5641.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0\r\n },\r\n {\r\n \"name\": \"csmws5641.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": \"csmsf385\",\r\n \"webHostingPlan\": \"csmsf385\",\r\n \"lastModifiedTimeUtc\": \"2014-09-19T22:08:57.893\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws5641\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Free\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false\r\n }\r\n}", + "ResponseBody": "{\r\n \"value\": [],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", "ResponseHeaders": { - "Content-Length": [ - "1572" - ], "Content-Type": [ "application/json" ], "Expires": [ "-1" ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 27 Jan 2017 19:05:17 GMT" + ], "Pragma": [ "no-cache" ], + "Transfer-Encoding": [ + "chunked" + ], + "Server": [ + "Microsoft-IIS/8.0" + ], + "Vary": [ + "Accept-Encoding" + ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "8b78e8eb-54d2-4825-86aa-a16ca0b1979d" + "c73ac4ef-27b2-4df2-a4ad-595fbb31bf18" ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "14835" ], "x-ms-correlation-request-id": [ - "cd670472-2b4e-4353-9588-0ee2860ae940" + "1e56d888-4d24-4e77-b68d-ad87aa0922cf" ], "x-ms-routing-request-id": [ - "WESTUS:20140919T220900Z:cd670472-2b4e-4353-9588-0ee2860ae940" + "WESTUS2:20170127T190517Z:1e56d888-4d24-4e77-b68d-ad87aa0922cf" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/sites/csmws5492/config/backup?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU0OTIvY29uZmlnL2JhY2t1cD9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"name\": \"abc\",\r\n \"enabled\": false,\r\n \"storageAccountUrl\": \"https://nonexistingusername3567.blob.core.windows.net/backup/?sv=2012-02-12&st=2013-12-05T19%3A30%3A45Z&se=2017-12-04T19%3A30%3A45Z&sr=c&sp=rwdl&sig=3BY5sbzQ2NeKvdaelzxc8inxJgE1mGq2a%2BaqUeFGJYo%3D\",\r\n \"backupSchedule\": {\r\n \"frequencyInterval\": 17,\r\n \"frequencyUnit\": \"Day\",\r\n \"keepAtLeastOneBackup\": true,\r\n \"retentionPeriodInDays\": 26,\r\n \"startTime\": \"2017-02-01T19:05:17.6738839Z\"\r\n }\r\n },\r\n \"location\": \"West US\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "543" + ], + "x-ms-client-request-id": [ + "d0bf6dc9-8229-49dd-a89c-fea53fe949f5" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "Expires": [ + "-1" ], "Cache-Control": [ "no-cache" ], "Date": [ - "Fri, 19 Sep 2014 22:09:00 GMT" + "Fri, 27 Jan 2017 19:05:17 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "Microsoft-IIS/8.0" ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "fcbdad96-af04-4c03-8dd6-4734817ac0b2" + ], "X-AspNet-Version": [ "4.0.30319" ], "X-Powered-By": [ "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1196" + ], + "x-ms-correlation-request-id": [ + "d7b43603-9f77-43c8-8ee0-5a39bb3e2767" + ], + "x-ms-routing-request-id": [ + "WESTUS2:20170127T190518Z:d7b43603-9f77-43c8-8ee0-5a39bb3e2767" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourceGroups/csmrg17/providers/Microsoft.Web/sites/csmws5641/restore?api-version=2014-04-01", - "RequestMethod": "GET", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/sites/csmws5492/config/backup/list?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU0OTIvY29uZmlnL2JhY2t1cC9saXN0P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestMethod": "POST", "RequestBody": "", "RequestHeaders": { - "x-ms-version": [ - "2014-04-01" + "x-ms-client-request-id": [ + "6440b025-402b-478e-84c4-2aa87b2aaa3c" + ], + "accept-language": [ + "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/2.0.0.0" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": \"csmws5641\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"West US\",\r\n \"tags\": null,\r\n \"properties\": []\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/sites/csmws5492\",\r\n \"name\": \"csmws5492\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"West US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"abc\",\r\n \"enabled\": false,\r\n \"storageAccountUrl\": \"https://nonexistingusername3567.blob.core.windows.net/backup/?sv=2012-02-12&st=2013-12-05T19%3A30%3A45Z&se=2017-12-04T19%3A30%3A45Z&sr=c&sp=rwdl&sig=3BY5sbzQ2NeKvdaelzxc8inxJgE1mGq2a%2BaqUeFGJYo%3D\",\r\n \"backupSchedule\": {\r\n \"frequencyInterval\": 17,\r\n \"frequencyUnit\": \"Day\",\r\n \"keepAtLeastOneBackup\": true,\r\n \"retentionPeriodInDays\": 26,\r\n \"startTime\": \"2017-02-01T19:05:17.6738839\"\r\n },\r\n \"databases\": null,\r\n \"type\": \"Default\"\r\n }\r\n}", "ResponseHeaders": { - "Content-Length": [ - "108" - ], "Content-Type": [ "application/json" ], "Expires": [ "-1" ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 27 Jan 2017 19:05:18 GMT" + ], "Pragma": [ "no-cache" ], + "Transfer-Encoding": [ + "chunked" + ], + "Server": [ + "Microsoft-IIS/8.0" + ], + "Vary": [ + "Accept-Encoding" + ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "89d91a46-0bd5-4c3f-83da-773d564d14ce" + "31a101fb-0839-46ff-8051-26459190896f" ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "31999" + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ + "11993" ], "x-ms-correlation-request-id": [ - "73a3f6c2-0d38-4ecf-a853-6174872c6fdc" + "d8cb7fa3-ed24-437b-bd78-196c5f074f29" ], "x-ms-routing-request-id": [ - "WESTUS:20140919T220900Z:73a3f6c2-0d38-4ecf-a853-6174872c6fdc" + "WESTUS2:20170127T190518Z:d8cb7fa3-ed24-437b-bd78-196c5f074f29" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/sites/csmws5492?deleteMetrics=true&api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU0OTI/ZGVsZXRlTWV0cmljcz10cnVlJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "415c9b4e-868c-4103-a524-df60f559fcd3" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "Expires": [ + "-1" ], "Cache-Control": [ "no-cache" ], "Date": [ - "Fri, 19 Sep 2014 22:09:00 GMT" + "Fri, 27 Jan 2017 19:05:21 GMT" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"1D278D04B9E5F4B\"" ], "Server": [ "Microsoft-IIS/8.0" ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "166e98ca-9f42-4380-ac7b-f7035627fbf8" + ], "X-AspNet-Version": [ "4.0.30319" ], "X-Powered-By": [ "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1195" + ], + "x-ms-correlation-request-id": [ + "9ae9e851-827b-4a6b-99e9-11fc4d3a85f7" + ], + "x-ms-routing-request-id": [ + "WESTUS2:20170127T190521Z:9ae9e851-827b-4a6b-99e9-11fc4d3a85f7" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f/resourceGroups/csmrg17/providers/Microsoft.Web/sites/csmws5641/backup/config?api-version=2014-04-01", - "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"backupSchedule\": {\r\n \"frequencyInterval\": 17,\r\n \"frequencyUnit\": \"Day\",\r\n \"keepAtLeastOneBackup\": true,\r\n \"retentionPeriodInDays\": 26,\r\n \"startTime\": \"2014-09-24T15:09:00.5836984-07:00\"\r\n },\r\n \"databases\": [],\r\n \"enabled\": false,\r\n \"name\": \"abc\",\r\n \"storageAccountUrl\": \"https://nonexistingusername3567.blob.core.windows.net/backup/?sv=2012-02-12&st=2013-12-05T19%3A30%3A45Z&se=2017-12-04T19%3A30%3A45Z&sr=c&sp=rwdl&sig=3BY5sbzQ2NeKvdaelzxc8inxJgE1mGq2a%2BaqUeFGJYo%3D\"\r\n },\r\n \"location\": \"West US\",\r\n \"tags\": {}\r\n}", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/serverfarms/csmsf757?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjc1Nz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "", "RequestHeaders": { - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "585" + "x-ms-client-request-id": [ + "eb07cf51-f76c-4158-82af-b6da8231954e" ], - "x-ms-version": [ - "2014-04-01" + "accept-language": [ + "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/2.0.0.0" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"Code\": \"Conflict\",\r\n \"Message\": \"Backup/Restore feature is not allowed in current site mode.\",\r\n \"Target\": null,\r\n \"Details\": [\r\n {\r\n \"Message\": \"Backup/Restore feature is not allowed in current site mode.\"\r\n },\r\n {\r\n \"Code\": \"Conflict\"\r\n },\r\n {\r\n \"ErrorEntity\": {\r\n \"Code\": \"Conflict\",\r\n \"Message\": \"Backup/Restore feature is not allowed in current site mode.\",\r\n \"ExtendedCode\": \"04215\",\r\n \"MessageTemplate\": \"Backup/Restore feature is not allowed in current site mode.\",\r\n \"Parameters\": [],\r\n \"InnerErrors\": null\r\n }\r\n }\r\n ],\r\n \"Innererror\": null\r\n}", + "ResponseBody": "", "ResponseHeaders": { "Content-Length": [ - "475" - ], - "Content-Type": [ - "application/json; charset=utf-8" + "0" ], "Expires": [ "-1" ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 27 Jan 2017 19:05:21 GMT" + ], "Pragma": [ "no-cache" ], + "Server": [ + "Microsoft-IIS/8.0" + ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1196" - ], "x-ms-request-id": [ - "c0cf217a-f6fd-4d0e-a758-8b20509112d2" + "5ba08c63-2a5a-4daa-8fb4-4714d2220a24" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1194" ], "x-ms-correlation-request-id": [ - "c0cf217a-f6fd-4d0e-a758-8b20509112d2" + "df605a3c-8747-462c-8b2f-04a6bd4d0c49" ], "x-ms-routing-request-id": [ - "WESTUS:20140919T220901Z:c0cf217a-f6fd-4d0e-a758-8b20509112d2" + "WESTUS2:20170127T190521Z:df605a3c-8747-462c-8b2f-04a6bd4d0c49" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7816/providers/Microsoft.Web/serverfarms?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzgxNi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "48af0532-b4f8-45f5-894b-f5333cfdaafc" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" + ] + }, + "ResponseBody": "{\r\n \"value\": [],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", + "ResponseHeaders": { + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" ], "Cache-Control": [ "no-cache" ], "Date": [ - "Fri, 19 Sep 2014 22:09:01 GMT" + "Fri, 27 Jan 2017 19:05:21 GMT" + ], + "Pragma": [ + "no-cache" + ], + "Transfer-Encoding": [ + "chunked" ], "Server": [ "Microsoft-IIS/8.0" ], + "Vary": [ + "Accept-Encoding" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "580e67a6-9165-40c9-8422-af7a2883d07c" + ], "X-AspNet-Version": [ "4.0.30319" ], "X-Powered-By": [ "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "14834" + ], + "x-ms-correlation-request-id": [ + "26950c54-d17b-40a1-8532-1ff59c9d92e5" + ], + "x-ms-routing-request-id": [ + "WESTUS2:20170127T190522Z:26950c54-d17b-40a1-8532-1ff59c9d92e5" ] }, - "StatusCode": 409 + "StatusCode": 200 } ], "Names": { "ListBackupsAndScheduledBackupRoundTrip": [ - "csmsf385", - "csmrg17", - "csmws5641" + "csmsf757", + "csmrg7816", + "csmws5492" ] }, "Variables": { - "SubscriptionId": "279b0675-cf67-467f-98f0-67ae31eb540f", - "UserId": "destanko@microsoft.com" + "SubscriptionId": "0d3ae56c-deaf-4982-b514-33d016d4a683" } } \ No newline at end of file diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndDeleteWebHostingPlan.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndDeleteWebHostingPlan.json index 6e3f1ce37ca1..8937d8e29375 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndDeleteWebHostingPlan.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndDeleteWebHostingPlan.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "f40fa094-9416-4f66-bd00-a40c4d8aaba8" + "7fa253d4-b647-448a-9ca1-43789c9caaed" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:29 GMT" + "Fri, 27 Jan 2017 18:57:17 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14848" + "14810" ], "x-ms-request-id": [ - "0d66377b-e68a-438c-b6de-d15e32b34e5a" + "645efa36-a9cd-4864-9037-06b89b198470" ], "x-ms-correlation-request-id": [ - "0d66377b-e68a-438c-b6de-d15e32b34e5a" + "645efa36-a9cd-4864-9037-06b89b198470" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190329Z:0d66377b-e68a-438c-b6de-d15e32b34e5a" + "CENTRALUS:20170127T185717Z:645efa36-a9cd-4864-9037-06b89b198470" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8402?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODQwMj9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3668?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMzY2OD9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "8e96823b-ba07-42f7-af92-eda72fef923b" + "af66ad9b-3de4-4a10-9c07-e9aae397bac0" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8402\",\r\n \"name\": \"csmrg8402\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3668\",\r\n \"name\": \"csmrg3668\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,7 +93,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:30 GMT" + "Fri, 27 Jan 2017 18:57:18 GMT" ], "Pragma": [ "no-cache" @@ -102,13 +102,13 @@ "1199" ], "x-ms-request-id": [ - "507fd8f4-b7e1-40fb-ab12-dc9b265e9667" + "195115c0-aeee-49e0-a2a7-8bef73f29dea" ], "x-ms-correlation-request-id": [ - "507fd8f4-b7e1-40fb-ab12-dc9b265e9667" + "195115c0-aeee-49e0-a2a7-8bef73f29dea" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190330Z:507fd8f4-b7e1-40fb-ab12-dc9b265e9667" + "CENTRALUS:20170127T185718Z:195115c0-aeee-49e0-a2a7-8bef73f29dea" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,23 +117,20 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8402/providers/Microsoft.Web/sites?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODQwMi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3668/providers/Microsoft.Web/sites?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzY2OC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "d118ce83-f10e-4b96-ab7e-92bef0f20943" + "dd6e950b-5b1b-40fc-ad1c-243e5a59ad01" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "{\r\n \"value\": [],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", @@ -148,7 +145,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:30 GMT" + "Fri, 27 Jan 2017 18:57:18 GMT" ], "Pragma": [ "no-cache" @@ -166,7 +163,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "8dbc519b-e910-41ae-8eee-fcae27ea932a" + "467b2d10-4243-4ebe-8077-26c5e71d06fd" ], "X-AspNet-Version": [ "4.0.30319" @@ -175,22 +172,22 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14896" + "14909" ], "x-ms-correlation-request-id": [ - "a12b6d3b-ed2d-4889-bcc9-5aa67afb032e" + "506071a1-251e-4387-8c83-098d0edc151d" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190331Z:a12b6d3b-ed2d-4889-bcc9-5aa67afb032e" + "CENTRALUS:20170127T185718Z:506071a1-251e-4387-8c83-098d0edc151d" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8402/providers/Microsoft.Web/serverfarms/csmsf9484?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODQwMi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjk0ODQ/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3668/providers/Microsoft.Web/serverfarms/csmsf2224?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzY2OC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjIyMjQ/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf9484\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf2224\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -199,20 +196,17 @@ "141" ], "x-ms-client-request-id": [ - "0063dff4-8f89-4703-b186-f548a599097c" + "53ecebcb-5b52-48fe-a17f-3acee7b53ac9" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8402/providers/Microsoft.Web/serverfarms/csmsf9484\",\r\n \"name\": \"csmsf9484\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf9484\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8402-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8402\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-033_13845\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3668/providers/Microsoft.Web/serverfarms/csmsf2224\",\r\n \"name\": \"csmsf2224\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf2224\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg3668-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg3668\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1225\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -224,7 +218,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:34 GMT" + "Fri, 27 Jan 2017 18:57:23 GMT" ], "Pragma": [ "no-cache" @@ -242,7 +236,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "231a8012-2865-487a-ad99-d486d2f78f9f" + "9d9cd3cb-d6dd-44ad-afd6-dc7b4a5dd18e" ], "X-AspNet-Version": [ "4.0.30319" @@ -251,35 +245,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" + "1199" ], "x-ms-correlation-request-id": [ - "00f592b5-3083-4fbe-a699-01a48a0fd6f6" + "502280ff-3723-4dd5-8ae6-3062f870ba58" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190334Z:00f592b5-3083-4fbe-a699-01a48a0fd6f6" + "CENTRALUS:20170127T185724Z:502280ff-3723-4dd5-8ae6-3062f870ba58" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8402/providers/Microsoft.Web/serverfarms/csmsf9484?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODQwMi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjk0ODQ/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3668/providers/Microsoft.Web/serverfarms/csmsf2224?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzY2OC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjIyMjQ/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "5d0e4dd1-8d5c-4226-91f6-1835aa683684" + "0214873a-cf40-4d75-b86b-601a0b369a11" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -294,7 +285,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:35 GMT" + "Fri, 27 Jan 2017 18:57:24 GMT" ], "Pragma": [ "no-cache" @@ -306,7 +297,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "6aec9a8a-9ec7-4462-b302-be8c2eeaaa9c" + "4a56b82f-cf3a-4d82-8255-c85baf2d4d21" ], "X-AspNet-Version": [ "4.0.30319" @@ -315,35 +306,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "1198" ], "x-ms-correlation-request-id": [ - "7759ee05-2925-452a-80aa-0d1b0c8e4e37" + "18129440-2b8d-486c-b4a0-949f958b6a39" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190336Z:7759ee05-2925-452a-80aa-0d1b0c8e4e37" + "CENTRALUS:20170127T185725Z:18129440-2b8d-486c-b4a0-949f958b6a39" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8402/providers/Microsoft.Web/serverfarms?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODQwMi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3668/providers/Microsoft.Web/serverfarms?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzY2OC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0cb29d10-755a-4b3d-8787-71a54abd8096" + "c65fdab7-3de2-4926-892b-acf8c1b178d9" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "{\r\n \"value\": [],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", @@ -358,7 +346,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:36 GMT" + "Fri, 27 Jan 2017 18:57:24 GMT" ], "Pragma": [ "no-cache" @@ -376,7 +364,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "8d9a4f6f-f653-4f43-9047-48615e6619ac" + "06f3da2d-7dd0-4249-9210-29dad8ac679a" ], "X-AspNet-Version": [ "4.0.30319" @@ -385,13 +373,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14894" + "14908" ], "x-ms-correlation-request-id": [ - "b55d9527-db69-4ffa-a1e2-b601857520c4" + "a6ee095a-79f5-46d2-aa02-714024e374ae" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190336Z:b55d9527-db69-4ffa-a1e2-b601857520c4" + "CENTRALUS:20170127T185725Z:a6ee095a-79f5-46d2-aa02-714024e374ae" ] }, "StatusCode": 200 @@ -399,8 +387,8 @@ ], "Names": { "CreateAndDeleteWebHostingPlan": [ - "csmsf9484", - "csmrg8402" + "csmsf2224", + "csmrg3668" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyListOfWebHostingPlan.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyListOfWebHostingPlan.json index ee078640d5c6..837501d530d1 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyListOfWebHostingPlan.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyListOfWebHostingPlan.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "98848bad-e571-42ea-b3ed-af51b53ede8d" + "af1414f0-64e0-4d20-84ca-ce714bfb6165" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:39 GMT" + "Fri, 27 Jan 2017 18:57:29 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14847" + "14828" ], "x-ms-request-id": [ - "2413a912-6e4d-4a7a-a86e-e8d0e1e22823" + "10763935-0e8e-410d-a189-44e37957f420" ], "x-ms-correlation-request-id": [ - "2413a912-6e4d-4a7a-a86e-e8d0e1e22823" + "10763935-0e8e-410d-a189-44e37957f420" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190339Z:2413a912-6e4d-4a7a-a86e-e8d0e1e22823" + "WESTUS2:20170127T185729Z:10763935-0e8e-410d-a189-44e37957f420" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8076?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODA3Nj9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg7079?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNzA3OT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "bd9f44f5-1637-42fc-8afe-05885e6901d8" + "67b41709-a720-4764-84c8-f38283286135" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076\",\r\n \"name\": \"csmrg8076\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079\",\r\n \"name\": \"csmrg7079\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,7 +93,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:39 GMT" + "Fri, 27 Jan 2017 18:57:30 GMT" ], "Pragma": [ "no-cache" @@ -102,13 +102,13 @@ "1199" ], "x-ms-request-id": [ - "d6b61756-0e22-48ae-a811-aa378469af1c" + "a338bb9f-e52e-4cac-905c-06a7814e2ad3" ], "x-ms-correlation-request-id": [ - "d6b61756-0e22-48ae-a811-aa378469af1c" + "a338bb9f-e52e-4cac-905c-06a7814e2ad3" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190340Z:d6b61756-0e22-48ae-a811-aa378469af1c" + "WESTUS2:20170127T185730Z:a338bb9f-e52e-4cac-905c-06a7814e2ad3" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076/providers/Microsoft.Web/serverfarms/csmwhp7948?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODA3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA3OTQ4P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079/providers/Microsoft.Web/serverfarms/csmwhp9114?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzA3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA5MTE0P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp7948\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp9114\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "122" ], "x-ms-client-request-id": [ - "8eaf3b59-cd6b-4bb0-b1fb-1b48798c55e3" + "43aa59d9-40c4-445f-8644-f3d28a02023b" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076/providers/Microsoft.Web/serverfarms/csmwhp7948\",\r\n \"name\": \"csmwhp7948\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp7948\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8076-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8076\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-059_5996\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079/providers/Microsoft.Web/serverfarms/csmwhp9114\",\r\n \"name\": \"csmwhp9114\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp9114\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg7079-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg7079\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1226\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:45 GMT" + "Fri, 27 Jan 2017 18:57:34 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "9fa693db-0198-4067-abdb-5b27bae99160" + "eeca65f9-7bc9-44bd-8374-e68f37bc4ccc" ], "X-AspNet-Version": [ "4.0.30319" @@ -184,19 +181,19 @@ "1199" ], "x-ms-correlation-request-id": [ - "4c49255f-9e11-4228-abc0-39179e838bb1" + "3fdd5ce7-84f0-400f-9ca5-3ab70c0c52b5" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190345Z:4c49255f-9e11-4228-abc0-39179e838bb1" + "WESTUS2:20170127T185735Z:3fdd5ce7-84f0-400f-9ca5-3ab70c0c52b5" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076/providers/Microsoft.Web/serverfarms/csmwhp8284?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODA3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA4Mjg0P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079/providers/Microsoft.Web/serverfarms/csmwhp9797?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzA3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA5Nzk3P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmwhp8284\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmwhp9797\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -205,20 +202,17 @@ "141" ], "x-ms-client-request-id": [ - "485a31b6-ce93-46ce-bfdb-a8c914508a12" + "2e7d20bc-d8b0-40a7-a068-ac0fa51bd4f1" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076/providers/Microsoft.Web/serverfarms/csmwhp8284\",\r\n \"name\": \"csmwhp8284\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp8284\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8076-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8076\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-059_5997\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079/providers/Microsoft.Web/serverfarms/csmwhp9797\",\r\n \"name\": \"csmwhp9797\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp9797\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg7079-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg7079\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1227\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:59 GMT" + "Fri, 27 Jan 2017 18:57:38 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "964570f0-2452-445c-9cde-64918dd8d9eb" + "7a9619e7-a08a-41e5-959d-347fd2216216" ], "X-AspNet-Version": [ "4.0.30319" @@ -260,35 +254,32 @@ "1198" ], "x-ms-correlation-request-id": [ - "be88af0e-5749-4da7-a1fa-524d985e7270" + "f454913f-e42c-4f7e-9f22-2dc1d90cbde6" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190359Z:be88af0e-5749-4da7-a1fa-524d985e7270" + "WESTUS2:20170127T185739Z:f454913f-e42c-4f7e-9f22-2dc1d90cbde6" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076/providers/Microsoft.Web/serverfarms?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODA3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079/providers/Microsoft.Web/serverfarms?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzA3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcz9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "1b012a87-c92d-44be-a308-904bcde6bc7f" + "7bd50271-64d5-4f93-a301-4de1c9f5ef97" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076/providers/Microsoft.Web/serverfarms/csmwhp7948\",\r\n \"name\": \"csmwhp7948\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp7948\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8076-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8076\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-059_5996\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8076/providers/Microsoft.Web/serverfarms/csmwhp8284\",\r\n \"name\": \"csmwhp8284\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp8284\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8076-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8076\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-059_5997\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079/providers/Microsoft.Web/serverfarms/csmwhp9114\",\r\n \"name\": \"csmwhp9114\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp9114\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg7079-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg7079\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1226\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7079/providers/Microsoft.Web/serverfarms/csmwhp9797\",\r\n \"name\": \"csmwhp9797\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp9797\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg7079-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg7079\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1227\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -300,7 +291,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:59 GMT" + "Fri, 27 Jan 2017 18:57:40 GMT" ], "Pragma": [ "no-cache" @@ -318,7 +309,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "b69b167d-69f3-46ee-abb5-d5fd69ed4ed6" + "24630a50-f61b-4c9e-baa2-0c263b06d09c" ], "X-AspNet-Version": [ "4.0.30319" @@ -327,13 +318,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14826" + "14848" ], "x-ms-correlation-request-id": [ - "e7918598-f431-42b7-b384-9939ccb7746e" + "251e1a7a-7867-43a1-b4da-11ec374cae58" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190359Z:e7918598-f431-42b7-b384-9939ccb7746e" + "WESTUS2:20170127T185740Z:251e1a7a-7867-43a1-b4da-11ec374cae58" ] }, "StatusCode": 200 @@ -341,9 +332,9 @@ ], "Names": { "CreateAndVerifyListOfWebHostingPlan": [ - "csmwhp7948", - "csmwhp8284", - "csmrg8076" + "csmwhp9114", + "csmwhp9797", + "csmrg7079" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyWebHostingPlan.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyWebHostingPlan.json index 7b4e47cc2616..041b9cba3d7f 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyWebHostingPlan.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/CreateAndVerifyWebHostingPlan.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0ab33644-1e28-4a62-a7be-ed8fa878c2ce" + "e92d81b6-2643-4cf8-9081-7d03cda7c07c" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:02:57 GMT" + "Fri, 27 Jan 2017 18:56:15 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14831" + "14804" ], "x-ms-request-id": [ - "c1ebd35e-6536-44d7-a3f1-c88aee6b71fe" + "a589e48f-33c7-4943-97fa-6370e3400f34" ], "x-ms-correlation-request-id": [ - "c1ebd35e-6536-44d7-a3f1-c88aee6b71fe" + "a589e48f-33c7-4943-97fa-6370e3400f34" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190258Z:c1ebd35e-6536-44d7-a3f1-c88aee6b71fe" + "CENTRALUS:20170127T185615Z:a589e48f-33c7-4943-97fa-6370e3400f34" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8195?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODE5NT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg2853?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMjg1Mz9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "9e520806-0ce9-4fcb-923b-a48f30f005bb" + "0070fa14-827e-468a-8590-7c616204cc86" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8195\",\r\n \"name\": \"csmrg8195\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2853\",\r\n \"name\": \"csmrg2853\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,7 +93,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:02:58 GMT" + "Fri, 27 Jan 2017 18:56:16 GMT" ], "Pragma": [ "no-cache" @@ -102,13 +102,13 @@ "1199" ], "x-ms-request-id": [ - "a26a7107-89b8-4b4e-8276-5602984616f6" + "ea159c81-21fc-4a2f-94b3-66d6a9c57007" ], "x-ms-correlation-request-id": [ - "a26a7107-89b8-4b4e-8276-5602984616f6" + "ea159c81-21fc-4a2f-94b3-66d6a9c57007" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190259Z:a26a7107-89b8-4b4e-8276-5602984616f6" + "CENTRALUS:20170127T185617Z:ea159c81-21fc-4a2f-94b3-66d6a9c57007" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8195/providers/Microsoft.Web/serverfarms/csmsf8887?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODE5NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjg4ODc/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2853/providers/Microsoft.Web/serverfarms/csmsf7516?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjc1MTY/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf8887\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf7516\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "140" ], "x-ms-client-request-id": [ - "1a0be8db-822a-4b48-8d45-3d02f5b5f94f" + "f1683c6a-6466-46f2-9e2f-0cd752b39da3" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8195/providers/Microsoft.Web/serverfarms/csmsf8887\",\r\n \"name\": \"csmsf8887\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf8887\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8195-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8195\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-033_13843\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2853/providers/Microsoft.Web/serverfarms/csmsf7516\",\r\n \"name\": \"csmsf7516\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf7516\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg2853-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg2853\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1223\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:08 GMT" + "Fri, 27 Jan 2017 18:56:24 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "c19fc53a-0760-4cef-bb2b-dd855ae3e80d" + "9dec4a20-1521-4979-9934-8bdb59efd9fe" ], "X-AspNet-Version": [ "4.0.30319" @@ -184,35 +181,32 @@ "1199" ], "x-ms-correlation-request-id": [ - "f065ef7f-8ed4-40c4-a439-8c1faa8f753a" + "518d5ca7-e6e2-4966-a835-11bb6451822d" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190308Z:f065ef7f-8ed4-40c4-a439-8c1faa8f753a" + "CENTRALUS:20170127T185625Z:518d5ca7-e6e2-4966-a835-11bb6451822d" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8195/providers/Microsoft.Web/serverfarms/csmsf8887?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODE5NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjg4ODc/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2853/providers/Microsoft.Web/serverfarms/csmsf7516?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjc1MTY/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "8ee4dd44-c3df-45f8-9b34-8f57eedbba73" + "bb5a8498-7a44-4f22-96a1-5c6840ad01b4" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8195/providers/Microsoft.Web/serverfarms/csmsf8887\",\r\n \"name\": \"csmsf8887\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf8887\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8195-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8195\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-033_13843\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2853/providers/Microsoft.Web/serverfarms/csmsf7516\",\r\n \"name\": \"csmsf7516\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf7516\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg2853-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 3,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg2853\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1223\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"B1\",\r\n \"tier\": \"Basic\",\r\n \"size\": \"B1\",\r\n \"family\": \"B\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -224,7 +218,7 @@ "no-cache" ], "Date": [ - "Tue, 25 Oct 2016 19:03:08 GMT" + "Fri, 27 Jan 2017 18:56:24 GMT" ], "Pragma": [ "no-cache" @@ -242,7 +236,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "b156341f-187e-47ca-9bde-db6e2ba52645" + "18dd1993-f759-4222-81c5-60c173cea900" ], "X-AspNet-Version": [ "4.0.30319" @@ -251,13 +245,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14797" + "14909" ], "x-ms-correlation-request-id": [ - "a3482045-252d-4ef0-8caf-67a226130a06" + "ed36c01d-14d5-4002-8359-f6650e873ec5" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161025T190309Z:a3482045-252d-4ef0-8caf-67a226130a06" + "CENTRALUS:20170127T185625Z:ed36c01d-14d5-4002-8359-f6650e873ec5" ] }, "StatusCode": 200 @@ -265,8 +259,8 @@ ], "Names": { "CreateAndVerifyWebHostingPlan": [ - "csmsf8887", - "csmrg8195" + "csmsf7516", + "csmrg2853" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/GetAndSetAdminSiteWebHostingPlan.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/GetAndSetAdminSiteWebHostingPlan.json index 758b38578870..4a864a52a7f7 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/GetAndSetAdminSiteWebHostingPlan.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebHostingPlanScenarioTests/GetAndSetAdminSiteWebHostingPlan.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0383b8da-9c4b-43b3-bc7c-64cc83ab3d52" + "b1cabc60-f129-4377-889b-132f9ae8364c" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:06:40 GMT" + "Fri, 27 Jan 2017 18:56:29 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14847" + "14849" ], "x-ms-request-id": [ - "04079248-881a-4e0e-b757-47b38d75ceaf" + "617c19c6-2883-4bab-9d31-dd2102a5e320" ], "x-ms-correlation-request-id": [ - "04079248-881a-4e0e-b757-47b38d75ceaf" + "617c19c6-2883-4bab-9d31-dd2102a5e320" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T010641Z:04079248-881a-4e0e-b757-47b38d75ceaf" + "WESTUS2:20170127T185629Z:617c19c6-2883-4bab-9d31-dd2102a5e320" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg6601?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNjYwMT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3438?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMzQzOD9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "2112705c-a246-4407-a6b2-ae94da4b3dc8" + "e0f3c5e0-7f27-4876-b6cf-a8dcb49eede7" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601\",\r\n \"name\": \"csmrg6601\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438\",\r\n \"name\": \"csmrg3438\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,22 +93,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:06:42 GMT" + "Fri, 27 Jan 2017 18:56:30 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1196" + "1199" ], "x-ms-request-id": [ - "6cf6593b-5445-4327-8ecf-c71c3d9c8579" + "1b2f8729-a443-45f3-8d0b-29c699bb14c9" ], "x-ms-correlation-request-id": [ - "6cf6593b-5445-4327-8ecf-c71c3d9c8579" + "1b2f8729-a443-45f3-8d0b-29c699bb14c9" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T010642Z:6cf6593b-5445-4327-8ecf-c71c3d9c8579" + "WESTUS2:20170127T185630Z:1b2f8729-a443-45f3-8d0b-29c699bb14c9" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjYzMzg/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQzOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjUzNDE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf6338\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf5341\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "143" ], "x-ms-client-request-id": [ - "3b8f13dd-8fe7-469b-8c33-2daf449a1006" + "60568baf-64fb-42f5-b5f7-2889c23475f5" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338\",\r\n \"name\": \"csmsf6338\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf6338\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg6601-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg6601\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-017_13235\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341\",\r\n \"name\": \"csmsf5341\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf5341\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg3438-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg3438\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1224\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:06:56 GMT" + "Fri, 27 Jan 2017 18:56:36 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "ed5ea8b6-6182-47c1-a434-d52086e197ca" + "5d077460-c0df-4824-bed2-634fe2dfb682" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,41 +178,38 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1195" + "1199" ], "x-ms-correlation-request-id": [ - "d9a4aae1-a256-45eb-be99-b8357836aadf" + "83e1f9b6-26a7-4dc7-baf5-879fdd27da46" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T010657Z:d9a4aae1-a256-45eb-be99-b8357836aadf" + "CENTRALUS:20170127T185637Z:83e1f9b6-26a7-4dc7-baf5-879fdd27da46" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjYzMzg/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQzOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjUzNDE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"name\": \"csmsf6338\",\r\n \"status\": \"Ready\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": \"csmws7504\",\r\n \"maximumNumberOfWorkers\": 10,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"resourceGroup\": \"csmrg6601\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmsf6338\",\r\n \"location\": \"South Central US\",\r\n \"type\": \"Microsoft.Web/serverfarms\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"name\": \"csmsf5341\",\r\n \"status\": \"Ready\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": \"csmws4809\",\r\n \"maximumNumberOfWorkers\": 10,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"resourceGroup\": \"csmrg3438\",\r\n \"reserved\": false,\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n },\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341\",\r\n \"name\": \"csmsf5341\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"type\": \"Microsoft.Web/serverfarms\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "555" + "830" ], "x-ms-client-request-id": [ - "7f57d3a1-e571-4c91-b03a-993a8e130164" + "47f2c080-025e-4cfa-8d19-909617beb75a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -230,13 +224,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:07:05 GMT" + "Fri, 27 Jan 2017 18:56:40 GMT" ], "Pragma": [ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverFarms/csmsf6338/operationresults/ea59bc86-0192-4fee-af6e-2bc6c9922fca?api-version=2016-09-01" + "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverFarms/csmsf5341/operationresults/39b01bb5-9cb5-4289-8cee-7dff1bbd757c?api-version=2016-09-01" ], "Retry-After": [ "15" @@ -254,25 +248,25 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1193" + "1197" ], "x-ms-request-id": [ - "42af8dd6-ab05-4aeb-b95f-8c33850a262d" + "24238713-526a-47ae-865b-01856291f9f2" ], "x-ms-correlation-request-id": [ - "42af8dd6-ab05-4aeb-b95f-8c33850a262d" + "24238713-526a-47ae-865b-01856291f9f2" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T010706Z:42af8dd6-ab05-4aeb-b95f-8c33850a262d" + "CENTRALUS:20170127T185641Z:24238713-526a-47ae-865b-01856291f9f2" ] }, "StatusCode": 202 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/sites/csmws7504?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc1MDQ/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/sites/csmws4809?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQzOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQ4MDk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338\"\r\n },\r\n \"name\": \"csmws7504\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341\"\r\n },\r\n \"name\": \"csmws4809\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -281,20 +275,17 @@ "291" ], "x-ms-client-request-id": [ - "76a9086f-3fdf-49db-b03c-d076207f2e9a" + "0f77c28e-b59e-494a-9591-59496758a77c" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/sites/csmws7504\",\r\n \"name\": \"csmws7504\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws7504\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws7504.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg6601-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-017.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg6601-SouthCentralUSwebspace/sites/csmws7504\",\r\n \"repositorySiteName\": \"csmws7504\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws7504.azurewebsites.net\",\r\n \"csmws7504.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws7504.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws7504.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:07:00.29\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws7504\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"40.84.237.20,40.84.238.55,40.84.237.25,40.84.236.152\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-017\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg6601\",\r\n \"defaultHostName\": \"csmws7504.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/sites/csmws4809\",\r\n \"name\": \"csmws4809\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws4809\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws4809.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3438-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-077.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3438-SouthCentralUSwebspace/sites/csmws4809\",\r\n \"repositorySiteName\": \"csmws4809\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws4809.azurewebsites.net\",\r\n \"csmws4809.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws4809.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws4809.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T18:56:39.2033333\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws4809\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"13.84.36.2,13.84.37.101,13.84.37.200,13.84.32.172,13.84.39.187\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-077\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg3438\",\r\n \"defaultHostName\": \"csmws4809.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -306,7 +297,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:07:05 GMT" + "Fri, 27 Jan 2017 18:56:40 GMT" ], "Pragma": [ "no-cache" @@ -324,7 +315,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "eb60c92b-bc8b-4d16-90c5-f1859c13984c" + "9785fe19-eee6-4eb3-8726-fc6ab6db2e78" ], "X-AspNet-Version": [ "4.0.30319" @@ -333,32 +324,29 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1194" + "1198" ], "x-ms-correlation-request-id": [ - "cd84af42-5a03-4cf5-afba-aa9a09a1149f" + "d7e722cf-62cb-4277-97d5-61cf33b87850" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T010706Z:cd84af42-5a03-4cf5-afba-aa9a09a1149f" + "CENTRALUS:20170127T185641Z:d7e722cf-62cb-4277-97d5-61cf33b87850" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverFarms/csmsf6338/operationresults/ea59bc86-0192-4fee-af6e-2bc6c9922fca?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJGYXJtcy9jc21zZjYzMzgvb3BlcmF0aW9ucmVzdWx0cy9lYTU5YmM4Ni0wMTkyLTRmZWUtYWY2ZS0yYmM2Yzk5MjJmY2E/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverFarms/csmsf5341/operationresults/39b01bb5-9cb5-4289-8cee-7dff1bbd757c?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQzOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJGYXJtcy9jc21zZjUzNDEvb3BlcmF0aW9ucmVzdWx0cy8zOWIwMWJiNS05Y2I1LTQyODktOGNlZS03ZGZmMWJiZDc1N2M/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338\",\r\n \"name\": \"csmsf6338\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf6338\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg6601-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": \"csmws7504\",\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 1,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg6601\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-017_13235\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341\",\r\n \"name\": \"csmsf5341\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf5341\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg3438-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": \"csmws4809\",\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 1,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg3438\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1224\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -370,7 +358,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:07:36 GMT" + "Fri, 27 Jan 2017 18:57:12 GMT" ], "Pragma": [ "no-cache" @@ -388,7 +376,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "4f951573-b191-4dae-bad0-622e8a280c0c" + "fe2c4a65-09fe-41df-bc74-5761914fd223" ], "X-AspNet-Version": [ "4.0.30319" @@ -397,38 +385,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14589" + "14922" ], "x-ms-correlation-request-id": [ - "abc3fce7-f7c0-4691-9c6b-1c7c9f96612c" + "d1259dff-3874-45c9-8f52-81dfdb3c0947" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T010737Z:abc3fce7-f7c0-4691-9c6b-1c7c9f96612c" + "CENTRALUS:20170127T185712Z:d1259dff-3874-45c9-8f52-81dfdb3c0947" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjYzMzg/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQzOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc21zZjUzNDE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "11df93ef-b779-4d26-bf61-49bda764ce28" + "71b65782-7ac5-49fe-b8ec-65174c924b60" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6601/providers/Microsoft.Web/serverfarms/csmsf6338\",\r\n \"name\": \"csmsf6338\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf6338\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg6601-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": \"csmws7504\",\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 1,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg6601\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-017_13235\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3438/providers/Microsoft.Web/serverfarms/csmsf5341\",\r\n \"name\": \"csmsf5341\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmsf5341\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg3438-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": \"csmws4809\",\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 1,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg3438\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1224\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -440,7 +425,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:07:37 GMT" + "Fri, 27 Jan 2017 18:57:12 GMT" ], "Pragma": [ "no-cache" @@ -458,7 +443,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "a2c9e864-36a8-498f-9627-7ca74b579617" + "a8a9b952-91dc-4c0b-9281-1ee41345972b" ], "X-AspNet-Version": [ "4.0.30319" @@ -467,13 +452,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14588" + "14921" ], "x-ms-correlation-request-id": [ - "021e0b9f-24ba-4c0b-9205-f47cef8b7d18" + "c75c49ab-0884-4d94-9bf5-f80bf83ab293" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T010737Z:021e0b9f-24ba-4c0b-9205-f47cef8b7d18" + "CENTRALUS:20170127T185712Z:c75c49ab-0884-4d94-9bf5-f80bf83ab293" ] }, "StatusCode": 200 @@ -481,9 +466,9 @@ ], "Names": { "GetAndSetAdminSiteWebHostingPlan": [ - "csmws7504", - "csmsf6338", - "csmrg6601" + "csmws4809", + "csmsf5341", + "csmrg3438" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CloneSite.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CloneSite.json index 2872b346a402..41934d2416e4 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CloneSite.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CloneSite.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "12873a39-e3a7-4d7d-a5a4-094baeb60fe5" + "3e37beea-80f6-4f37-983f-55a2e5b87d41" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:19:06 GMT" + "Fri, 27 Jan 2017 18:58:40 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14784" + "14922" ], "x-ms-request-id": [ - "0ec1a573-926d-47e7-83a0-3b5fa7033538" + "bc7fecbb-cca0-4235-9e7e-a73c88c91fc9" ], "x-ms-correlation-request-id": [ - "0ec1a573-926d-47e7-83a0-3b5fa7033538" + "bc7fecbb-cca0-4235-9e7e-a73c88c91fc9" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011906Z:0ec1a573-926d-47e7-83a0-3b5fa7033538" + "CENTRALUS:20170127T185840Z:bc7fecbb-cca0-4235-9e7e-a73c88c91fc9" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -62,7 +62,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "94a20497-5ebd-4e62-b997-8338a34194f4" + "f5532ac8-3e75-408c-9ae7-fb80da090544" ], "accept-language": [ "en-US" @@ -72,7 +72,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -84,7 +84,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:19:25 GMT" + "Fri, 27 Jan 2017 18:59:00 GMT" ], "Pragma": [ "no-cache" @@ -93,16 +93,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14780" + "14921" ], "x-ms-request-id": [ - "3ddc074b-eb76-48d1-8329-32eb472dff6d" + "400366a6-a99e-44e0-970f-d7a43ed5caee" ], "x-ms-correlation-request-id": [ - "3ddc074b-eb76-48d1-8329-32eb472dff6d" + "400366a6-a99e-44e0-970f-d7a43ed5caee" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011925Z:3ddc074b-eb76-48d1-8329-32eb472dff6d" + "CENTRALUS:20170127T185901Z:400366a6-a99e-44e0-970f-d7a43ed5caee" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -111,8 +111,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg9428?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnOTQyOD9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3376?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMzM3Nj9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -123,7 +123,7 @@ "38" ], "x-ms-client-request-id": [ - "b078c789-400e-4ea2-859d-8d7a6c7d8220" + "ebb6b9ac-b428-4472-be25-c7004edcb08a" ], "accept-language": [ "en-US" @@ -133,7 +133,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428\",\r\n \"name\": \"csmrg9428\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376\",\r\n \"name\": \"csmrg3376\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -148,22 +148,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:19:06 GMT" + "Fri, 27 Jan 2017 18:58:40 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "1199" ], "x-ms-request-id": [ - "29a2e2bd-bd78-485e-acff-0b9c613c771c" + "df1491a1-3499-4b7e-9905-fbe9b5666e55" ], "x-ms-correlation-request-id": [ - "29a2e2bd-bd78-485e-acff-0b9c613c771c" + "df1491a1-3499-4b7e-9905-fbe9b5666e55" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011906Z:29a2e2bd-bd78-485e-acff-0b9c613c771c" + "CENTRALUS:20170127T185841Z:df1491a1-3499-4b7e-9905-fbe9b5666e55" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -172,10 +172,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/serverfarms/csmwhp8543?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA4NTQzP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/serverfarms/csmwhp7463?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA3NDYzP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"P1\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"name\": \"csmwhp8543\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"P1\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"name\": \"csmwhp7463\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -184,20 +184,17 @@ "123" ], "x-ms-client-request-id": [ - "6cf65487-f18a-4051-86d6-233cbc2faf8d" + "73ec80a7-f887-454b-ad00-f839c3513718" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/serverfarms/csmwhp8543\",\r\n \"name\": \"csmwhp8543\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp8543\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg9428-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 20,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg9428\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-065_19\"\r\n },\r\n \"sku\": {\r\n \"name\": \"P1\",\r\n \"tier\": \"Premium\",\r\n \"size\": \"P1\",\r\n \"family\": \"P\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/serverfarms/csmwhp7463\",\r\n \"name\": \"csmwhp7463\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp7463\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg3376-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 20,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg3376\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-027_14434\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"P1\",\r\n \"tier\": \"Premium\",\r\n \"size\": \"P1\",\r\n \"family\": \"P\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -209,7 +206,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:19:12 GMT" + "Fri, 27 Jan 2017 18:58:53 GMT" ], "Pragma": [ "no-cache" @@ -227,7 +224,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "d040d8fc-f05e-4912-8fd4-e7869e5ac53e" + "0bc679db-39b1-4f97-9412-1fa8ae4d907c" ], "X-AspNet-Version": [ "4.0.30319" @@ -236,44 +233,41 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1192" + "1198" ], "x-ms-correlation-request-id": [ - "a05ef234-e8e6-4126-adb9-acfb534c7c65" + "93154ad6-b5e4-428f-b94c-c6adfb185d4e" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011912Z:a05ef234-e8e6-4126-adb9-acfb534c7c65" + "CENTRALUS:20170127T185853Z:93154ad6-b5e4-428f-b94c-c6adfb185d4e" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws926?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czkyNj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws1329?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czEzMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/serverfarms/csmwhp8543\"\r\n },\r\n \"name\": \"csmws926\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/serverfarms/csmwhp7463\"\r\n },\r\n \"name\": \"csmws1329\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "291" + "292" ], "x-ms-client-request-id": [ - "dbc0edc8-d112-4be1-bdcd-a2a01d4426a3" + "f7a18827-5cf6-460a-b380-8262301a006b" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws926\",\r\n \"name\": \"csmws926\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws926\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws926.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg9428-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-065.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg9428-SouthCentralUSwebspace/sites/csmws926\",\r\n \"repositorySiteName\": \"csmws926\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws926.azurewebsites.net\",\r\n \"csmws926.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws926.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws926.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/serverfarms/csmwhp8543\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:19:14.43\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws926\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Premium\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"13.65.80.107,13.65.87.235,13.65.84.216,13.65.86.41\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-065\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg9428\",\r\n \"defaultHostName\": \"csmws926.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws1329\",\r\n \"name\": \"csmws1329\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws1329\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws1329.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3376-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-027.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3376-SouthCentralUSwebspace/sites/csmws1329\",\r\n \"repositorySiteName\": \"csmws1329\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws1329.azurewebsites.net\",\r\n \"csmws1329.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws1329.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws1329.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/serverfarms/csmwhp7463\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T18:58:56.5\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws1329\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Premium\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"40.124.15.33,40.124.9.41,40.124.9.201,40.124.10.240\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-027\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg3376\",\r\n \"defaultHostName\": \"csmws1329.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -285,7 +279,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:19:24 GMT" + "Fri, 27 Jan 2017 18:59:00 GMT" ], "Pragma": [ "no-cache" @@ -303,7 +297,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "0ed6328c-d4c5-42f5-8cbe-8c7f6a11e47b" + "1aaac38f-7f5c-44a2-89fb-9245c0e575e6" ], "X-AspNet-Version": [ "4.0.30319" @@ -312,41 +306,38 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1191" + "1197" ], "x-ms-correlation-request-id": [ - "52a1b75e-90e4-4c56-9235-70eebb40c3ad" + "8e1e03f6-6bf6-4ecb-be97-0da47fcfa3e1" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011925Z:52a1b75e-90e4-4c56-9235-70eebb40c3ad" + "CENTRALUS:20170127T185900Z:8e1e03f6-6bf6-4ecb-be97-0da47fcfa3e1" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIyNzI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc2OTI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"cloningInfo\": {\r\n \"sourceWebAppId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg9428/providers/Microsoft.Web/sites/csmws926\"\r\n }\r\n },\r\n \"name\": \"csmws2272\",\r\n \"location\": \"West US\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"cloningInfo\": {\r\n \"sourceWebAppId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3376/providers/Microsoft.Web/sites/csmws1329\"\r\n }\r\n },\r\n \"name\": \"csmws7692\",\r\n \"location\": \"West US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "250" + "251" ], "x-ms-client-request-id": [ - "24035576-6e84-48b2-9ed3-7a88dc4902ef" + "8f09dcd8-b8c0-4912-b9ee-01c490497048" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -361,16 +352,16 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:19:33 GMT" + "Fri, 27 Jan 2017 18:59:06 GMT" ], "Pragma": [ "no-cache" ], "ETag": [ - "\"1D22F26F6EBA4AB\"" + "\"1D278CF69452BF0\"" ], "Location": [ - "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01" + "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01" ], "Retry-After": [ "15" @@ -388,32 +379,29 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1190" + "1196" ], "x-ms-request-id": [ - "a79703d6-de9a-44c1-a1a2-ed0919e72a61" + "20207955-e9a7-4d90-a91b-173948147f68" ], "x-ms-correlation-request-id": [ - "a79703d6-de9a-44c1-a1a2-ed0919e72a61" + "20207955-e9a7-4d90-a91b-173948147f68" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011934Z:a79703d6-de9a-44c1-a1a2-ed0919e72a61" + "CENTRALUS:20170127T185906Z:20207955-e9a7-4d90-a91b-173948147f68" ] }, "StatusCode": 202 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIyNzIvb3BlcmF0aW9ucmVzdWx0cy9mNDcxM2U0Ny1lMjJiLTQ1ZmQtYTkxNy1kZTdhYThmNmNkMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc2OTIvb3BlcmF0aW9ucmVzdWx0cy9mYzJiMzY4ZC1jYmU1LTRiMGEtODc0MS1lMzg4ZjdjYzYwZDU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -428,13 +416,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:20:03 GMT" + "Fri, 27 Jan 2017 18:59:36 GMT" ], "Pragma": [ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01" + "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01" ], "Retry-After": [ "15" @@ -452,32 +440,29 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14892" + "14912" ], "x-ms-request-id": [ - "1dedf2b6-08f4-4cac-b084-234406677418" + "98894a45-7eb2-49fe-bcd0-3c8fb3eb587e" ], "x-ms-correlation-request-id": [ - "1dedf2b6-08f4-4cac-b084-234406677418" + "98894a45-7eb2-49fe-bcd0-3c8fb3eb587e" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012004Z:1dedf2b6-08f4-4cac-b084-234406677418" + "CENTRALUS:20170127T185936Z:98894a45-7eb2-49fe-bcd0-3c8fb3eb587e" ] }, "StatusCode": 202 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIyNzIvb3BlcmF0aW9ucmVzdWx0cy9mNDcxM2U0Ny1lMjJiLTQ1ZmQtYTkxNy1kZTdhYThmNmNkMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc2OTIvb3BlcmF0aW9ucmVzdWx0cy9mYzJiMzY4ZC1jYmU1LTRiMGEtODc0MS1lMzg4ZjdjYzYwZDU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -492,13 +477,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:20:34 GMT" + "Fri, 27 Jan 2017 19:00:06 GMT" ], "Pragma": [ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01" + "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01" ], "Retry-After": [ "15" @@ -516,32 +501,29 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14890" + "14909" ], "x-ms-request-id": [ - "8c375653-8b21-4767-8a82-437e48c9cdb7" + "79f13739-73c4-4e18-950f-eb32bf6ad570" ], "x-ms-correlation-request-id": [ - "8c375653-8b21-4767-8a82-437e48c9cdb7" + "79f13739-73c4-4e18-950f-eb32bf6ad570" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012034Z:8c375653-8b21-4767-8a82-437e48c9cdb7" + "CENTRALUS:20170127T190007Z:79f13739-73c4-4e18-950f-eb32bf6ad570" ] }, "StatusCode": 202 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIyNzIvb3BlcmF0aW9ucmVzdWx0cy9mNDcxM2U0Ny1lMjJiLTQ1ZmQtYTkxNy1kZTdhYThmNmNkMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc2OTIvb3BlcmF0aW9ucmVzdWx0cy9mYzJiMzY4ZC1jYmU1LTRiMGEtODc0MS1lMzg4ZjdjYzYwZDU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -556,13 +538,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:21:04 GMT" + "Fri, 27 Jan 2017 19:00:37 GMT" ], "Pragma": [ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01" + "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01" ], "Retry-After": [ "15" @@ -580,32 +562,29 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14889" + "14905" ], "x-ms-request-id": [ - "b2ddaaab-ce43-4e0f-a6c5-57e3f50f079a" + "6d68f7a5-606f-4c7f-8c93-e50955d8e68c" ], "x-ms-correlation-request-id": [ - "b2ddaaab-ce43-4e0f-a6c5-57e3f50f079a" + "6d68f7a5-606f-4c7f-8c93-e50955d8e68c" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012104Z:b2ddaaab-ce43-4e0f-a6c5-57e3f50f079a" + "CENTRALUS:20170127T190037Z:6d68f7a5-606f-4c7f-8c93-e50955d8e68c" ] }, "StatusCode": 202 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIyNzIvb3BlcmF0aW9ucmVzdWx0cy9mNDcxM2U0Ny1lMjJiLTQ1ZmQtYTkxNy1kZTdhYThmNmNkMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc2OTIvb3BlcmF0aW9ucmVzdWx0cy9mYzJiMzY4ZC1jYmU1LTRiMGEtODc0MS1lMzg4ZjdjYzYwZDU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -620,13 +599,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:21:34 GMT" + "Fri, 27 Jan 2017 19:01:06 GMT" ], "Pragma": [ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01" + "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01" ], "Retry-After": [ "15" @@ -644,32 +623,29 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14888" + "14904" ], "x-ms-request-id": [ - "f4166f76-d809-468d-a55c-2b920bd6091a" + "9f58d101-cdde-4ab9-a138-cf77a42f49ef" ], "x-ms-correlation-request-id": [ - "f4166f76-d809-468d-a55c-2b920bd6091a" + "9f58d101-cdde-4ab9-a138-cf77a42f49ef" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012134Z:f4166f76-d809-468d-a55c-2b920bd6091a" + "CENTRALUS:20170127T190107Z:9f58d101-cdde-4ab9-a138-cf77a42f49ef" ] }, "StatusCode": 202 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIyNzIvb3BlcmF0aW9ucmVzdWx0cy9mNDcxM2U0Ny1lMjJiLTQ1ZmQtYTkxNy1kZTdhYThmNmNkMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc2OTIvb3BlcmF0aW9ucmVzdWx0cy9mYzJiMzY4ZC1jYmU1LTRiMGEtODc0MS1lMzg4ZjdjYzYwZDU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -684,13 +660,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:22:04 GMT" + "Fri, 27 Jan 2017 19:01:36 GMT" ], "Pragma": [ "no-cache" ], "Location": [ - "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01" + "https://management.azure.com/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01" ], "Retry-After": [ "15" @@ -708,35 +684,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14885" + "14902" ], "x-ms-request-id": [ - "8ec189cd-0547-44fb-87cf-3806efd01892" + "2d459f3d-232d-42f0-bff7-0779dde5e455" ], "x-ms-correlation-request-id": [ - "8ec189cd-0547-44fb-87cf-3806efd01892" + "2d459f3d-232d-42f0-bff7-0779dde5e455" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012205Z:8ec189cd-0547-44fb-87cf-3806efd01892" + "CENTRALUS:20170127T190137Z:2d459f3d-232d-42f0-bff7-0779dde5e455" ] }, "StatusCode": 202 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272/operationresults/f4713e47-e22b-45fd-a917-de7aa8f6cd29?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnOTQyOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIyNzIvb3BlcmF0aW9ucmVzdWx0cy9mNDcxM2U0Ny1lMjJiLTQ1ZmQtYTkxNy1kZTdhYThmNmNkMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692/operationresults/fc2b368d-cbe5-4b0a-8741-e388f7cc60d5?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzM3Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czc2OTIvb3BlcmF0aW9ucmVzdWx0cy9mYzJiMzY4ZC1jYmU1LTRiMGEtODc0MS1lMzg4ZjdjYzYwZDU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/sites/csmws2272\",\r\n \"name\": \"csmws2272\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"West US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws2272\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2272.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg9428-WestUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-bay-029.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg9428-WestUSwebspace/sites/csmws2272\",\r\n \"repositorySiteName\": \"csmws2272\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2272.azurewebsites.net\",\r\n \"csmws2272.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2272.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws2272.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg9428/providers/Microsoft.Web/serverfarms/csmwhp8543-WestUS\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:22:18.85\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2272\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Premium\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"191.239.52.104,191.239.49.193,191.239.53.140,191.239.50.228\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-bay-029\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg9428\",\r\n \"defaultHostName\": \"csmws2272.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/sites/csmws7692\",\r\n \"name\": \"csmws7692\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"West US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws7692\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws7692.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3376-WestUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-bay-073.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3376-WestUSwebspace/sites/csmws7692\",\r\n \"repositorySiteName\": \"csmws7692\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws7692.azurewebsites.net\",\r\n \"csmws7692.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws7692.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws7692.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3376/providers/Microsoft.Web/serverfarms/csmwhp7463-WestUS\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:01:57.3166667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws7692\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Premium\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"40.112.216.201,40.112.220.31,40.112.222.87,40.112.221.176\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-bay-073\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg3376\",\r\n \"defaultHostName\": \"csmws7692.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -748,7 +721,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:22:34 GMT" + "Fri, 27 Jan 2017 19:02:07 GMT" ], "Pragma": [ "no-cache" @@ -757,7 +730,7 @@ "chunked" ], "ETag": [ - "\"1D22F2764CC3420\"" + "\"1D278CFD4EF124B\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -769,7 +742,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "5611ec65-1530-4abe-afd9-0139356ba56e" + "99a65974-9819-47bf-af30-3f0bdbc446f6" ], "X-AspNet-Version": [ "4.0.30319" @@ -778,13 +751,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14881" + "14899" ], "x-ms-correlation-request-id": [ - "d6621f63-870d-4b18-a668-f5cfdf0ae89d" + "fc4126cb-0615-458c-9763-fe6e7f458c02" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012235Z:d6621f63-870d-4b18-a668-f5cfdf0ae89d" + "CENTRALUS:20170127T190207Z:fc4126cb-0615-458c-9763-fe6e7f458c02" ] }, "StatusCode": 200 @@ -792,12 +765,12 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws926", - "csmrg9428", - "csmwhp8543" + "csmws1329", + "csmrg3376", + "csmwhp7463" ], "CloneSite": [ - "csmws2272" + "csmws7692" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndDeleteWebsite.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndDeleteWebsite.json index 735820015b48..9b5893ba5ed2 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndDeleteWebsite.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndDeleteWebsite.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "705c7e9b-2773-4452-aecf-35eb1ca081ee" + "2be40512-494e-4a29-9960-ead29e010f88" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:36 GMT" + "Fri, 27 Jan 2017 19:02:12 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14803" + "14869" ], "x-ms-request-id": [ - "9e48ad3e-89f5-4c8e-9185-066aecd7e075" + "93dff43d-041c-41f7-b91d-86b308f912b7" ], "x-ms-correlation-request-id": [ - "9e48ad3e-89f5-4c8e-9185-066aecd7e075" + "93dff43d-041c-41f7-b91d-86b308f912b7" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010936Z:9e48ad3e-89f5-4c8e-9185-066aecd7e075" + "CENTRALUS:20170127T190213Z:93dff43d-041c-41f7-b91d-86b308f912b7" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg4009?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNDAwOT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg878?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODc4P2FwaS12ZXJzaW9uPTIwMTUtMTEtMDE=", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "401522da-df3b-40cf-be69-63494bbf62bf" + "a3833131-2ece-466b-94da-bf038a89b1a4" ], "accept-language": [ "en-US" @@ -78,10 +78,10 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009\",\r\n \"name\": \"csmrg4009\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878\",\r\n \"name\": \"csmrg878\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ - "179" + "177" ], "Content-Type": [ "application/json; charset=utf-8" @@ -93,22 +93,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:36 GMT" + "Fri, 27 Jan 2017 19:02:13 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" + "1199" ], "x-ms-request-id": [ - "839460dc-f885-4bae-8d01-fcf78b44fc38" + "168f0967-53bb-42c8-be0d-71dd691b18d3" ], "x-ms-correlation-request-id": [ - "839460dc-f885-4bae-8d01-fcf78b44fc38" + "168f0967-53bb-42c8-be0d-71dd691b18d3" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010937Z:839460dc-f885-4bae-8d01-fcf78b44fc38" + "CENTRALUS:20170127T190213Z:168f0967-53bb-42c8-be0d-71dd691b18d3" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/serverfarms/csmwhp7086?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA3MDg2P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/serverfarms/csmwhp5042?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NlcnZlcmZhcm1zL2NzbXdocDUwNDI/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp7086\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp5042\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "122" ], "x-ms-client-request-id": [ - "5bd64211-b698-4d6f-a33e-0f23ab20d68a" + "7af64701-3668-456e-8fd0-e2657a611f3a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/serverfarms/csmwhp7086\",\r\n \"name\": \"csmwhp7086\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp7086\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg4009-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg4009\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-021_17019\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/serverfarms/csmwhp5042\",\r\n \"name\": \"csmwhp5042\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp5042\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg878-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg878\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-083_3676\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:40 GMT" + "Fri, 27 Jan 2017 19:02:16 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "e752b06f-5a34-487f-9af0-2dd6fdf2b5e8" + "2c131f9c-92dc-4294-8bc0-0f776b36f7bc" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,44 +178,41 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1196" + "1198" ], "x-ms-correlation-request-id": [ - "3488b2db-384c-4579-b57a-a1ab38d7ed08" + "72b56e91-9fa0-4bc8-ae1d-1b8053cddd65" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010941Z:3488b2db-384c-4579-b57a-a1ab38d7ed08" + "CENTRALUS:20170127T190217Z:72b56e91-9fa0-4bc8-ae1d-1b8053cddd65" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYxMzI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NpdGVzL2NzbXdzMjk1P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/serverfarms/csmwhp7086\"\r\n },\r\n \"name\": \"csmws6132\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/serverfarms/csmwhp5042\"\r\n },\r\n \"name\": \"csmws295\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "292" + "290" ], "x-ms-client-request-id": [ - "febcc1a6-1474-4632-91e2-7a1f5cc63684" + "d79c9d6d-538d-4f0a-af19-1ad7f2a19e79" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132\",\r\n \"name\": \"csmws6132\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws6132\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws6132.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg4009-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-021.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg4009-SouthCentralUSwebspace/sites/csmws6132\",\r\n \"repositorySiteName\": \"csmws6132\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws6132.azurewebsites.net\",\r\n \"csmws6132.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws6132.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws6132.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/serverfarms/csmwhp7086\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:09:43.04\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws6132\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.214.77.221,104.44.141.19,104.214.72.124,23.102.152.49,23.102.157.149\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-021\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg4009\",\r\n \"defaultHostName\": \"csmws6132.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295\",\r\n \"name\": \"csmws295\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws295\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws295.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg878-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg878-SouthCentralUSwebspace/sites/csmws295\",\r\n \"repositorySiteName\": \"csmws295\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws295.azurewebsites.net\",\r\n \"csmws295.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws295.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws295.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/serverfarms/csmwhp5042\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:02:18.57\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws295\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg878\",\r\n \"defaultHostName\": \"csmws295.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:46 GMT" + "Fri, 27 Jan 2017 19:02:28 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "01af1930-4df4-418f-b7a5-339cd48f6ced" + "b0781b09-bf78-4dd3-8149-e61f8a40d30a" ], "X-AspNet-Version": [ "4.0.30319" @@ -257,35 +251,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1195" + "1197" ], "x-ms-correlation-request-id": [ - "957fe6c8-7a46-4b38-b78b-daf92eccf434" + "ba3acd54-df59-45bb-b0ee-60ca6372cbac" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010947Z:957fe6c8-7a46-4b38-b78b-daf92eccf434" + "CENTRALUS:20170127T190228Z:ba3acd54-df59-45bb-b0ee-60ca6372cbac" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132/stop?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYxMzIvc3RvcD9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295/stop?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NpdGVzL2NzbXdzMjk1L3N0b3A/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "POST", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "895e6e33-b0e4-48d0-9fa3-ef3dc18d1573" + "ea586f73-5b76-4f37-bb48-b8a8e8151e8b" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -300,7 +291,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:47 GMT" + "Fri, 27 Jan 2017 19:02:28 GMT" ], "Pragma": [ "no-cache" @@ -312,7 +303,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "0a93428e-1277-4d6a-8ab4-928ba1e2bd15" + "37c94487-5dc9-42b4-b176-22ef6e169632" ], "X-AspNet-Version": [ "4.0.30319" @@ -321,38 +312,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1194" + "1196" ], "x-ms-correlation-request-id": [ - "df730531-2ab2-4e1f-a250-dbc41a2078e4" + "4388a91e-8b81-407a-9d59-3cd95e160387" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010947Z:df730531-2ab2-4e1f-a250-dbc41a2078e4" + "CENTRALUS:20170127T190228Z:4388a91e-8b81-407a-9d59-3cd95e160387" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYxMzI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NpdGVzL2NzbXdzMjk1P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "c75a6faf-42f5-4575-b0c6-58ce2745fa7c" + "f330c7c9-ca45-4c36-9512-a3d517755747" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132\",\r\n \"name\": \"csmws6132\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws6132\",\r\n \"state\": \"Stopped\",\r\n \"hostNames\": [\r\n \"csmws6132.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg4009-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-021.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg4009-SouthCentralUSwebspace/sites/csmws6132\",\r\n \"repositorySiteName\": \"csmws6132\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws6132.azurewebsites.net\",\r\n \"csmws6132.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws6132.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws6132.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/serverfarms/csmwhp7086\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:09:47.4\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws6132\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.214.77.221,104.44.141.19,104.214.72.124,23.102.152.49,23.102.157.149\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-021\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg4009\",\r\n \"defaultHostName\": \"csmws6132.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295\",\r\n \"name\": \"csmws295\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws295\",\r\n \"state\": \"Stopped\",\r\n \"hostNames\": [\r\n \"csmws295.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg878-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg878-SouthCentralUSwebspace/sites/csmws295\",\r\n \"repositorySiteName\": \"csmws295\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws295.azurewebsites.net\",\r\n \"csmws295.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws295.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws295.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/serverfarms/csmwhp5042\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:02:28.6633333\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws295\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg878\",\r\n \"defaultHostName\": \"csmws295.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -364,7 +352,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:47 GMT" + "Fri, 27 Jan 2017 19:02:28 GMT" ], "Pragma": [ "no-cache" @@ -373,7 +361,7 @@ "chunked" ], "ETag": [ - "\"1D22F25A4E60880\"" + "\"1D278CFE79E3175\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -385,7 +373,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "49038c79-7b4a-4387-98b3-afb3971387c4" + "83104e61-56ba-4dde-953c-e5bddc9cafd1" ], "X-AspNet-Version": [ "4.0.30319" @@ -394,38 +382,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14855" + "14905" ], "x-ms-correlation-request-id": [ - "2dcec13c-0bc7-4aba-af20-65bcea2d941d" + "331fde22-cf0b-4e7e-9acd-155cada8cd55" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010947Z:2dcec13c-0bc7-4aba-af20-65bcea2d941d" + "CENTRALUS:20170127T190228Z:331fde22-cf0b-4e7e-9acd-155cada8cd55" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYxMzI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NpdGVzL2NzbXdzMjk1P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "4cca9e5a-4db7-4c39-a0b1-fa6c46a50017" + "82b9c6c7-3932-414a-88de-08a10a70284a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132\",\r\n \"name\": \"csmws6132\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws6132\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws6132.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg4009-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-021.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg4009-SouthCentralUSwebspace/sites/csmws6132\",\r\n \"repositorySiteName\": \"csmws6132\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws6132.azurewebsites.net\",\r\n \"csmws6132.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws6132.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws6132.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/serverfarms/csmwhp7086\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:09:48.027\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws6132\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.214.77.221,104.44.141.19,104.214.72.124,23.102.152.49,23.102.157.149\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-021\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg4009\",\r\n \"defaultHostName\": \"csmws6132.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295\",\r\n \"name\": \"csmws295\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws295\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws295.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg878-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg878-SouthCentralUSwebspace/sites/csmws295\",\r\n \"repositorySiteName\": \"csmws295\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws295.azurewebsites.net\",\r\n \"csmws295.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws295.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws295.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/serverfarms/csmwhp5042\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:02:28.9766667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws295\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg878\",\r\n \"defaultHostName\": \"csmws295.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -437,7 +422,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:48 GMT" + "Fri, 27 Jan 2017 19:02:29 GMT" ], "Pragma": [ "no-cache" @@ -446,7 +431,7 @@ "chunked" ], "ETag": [ - "\"1D22F25A545B4B0\"" + "\"1D278CFE7CE010B\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -458,7 +443,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "ebf360a1-69a2-41cc-b30a-a0980c71c45f" + "bd2dd268-1305-4f34-ab53-3b79ecc69367" ], "X-AspNet-Version": [ "4.0.30319" @@ -467,35 +452,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14854" + "14904" ], "x-ms-correlation-request-id": [ - "5c46ca0d-ca7f-45f8-8cb5-54308ae2e193" + "5441855c-edb7-44fd-9180-f6417c04f8dc" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010948Z:5c46ca0d-ca7f-45f8-8cb5-54308ae2e193" + "CENTRALUS:20170127T190229Z:5441855c-edb7-44fd-9180-f6417c04f8dc" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132/start?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYxMzIvc3RhcnQ/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295/start?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NpdGVzL2NzbXdzMjk1L3N0YXJ0P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "POST", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "ebd3a079-2481-4fa3-87b6-3b9a0b3022e8" + "b49dda07-eca3-4695-b826-a46fdb7dc7c0" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -510,7 +492,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:47 GMT" + "Fri, 27 Jan 2017 19:02:28 GMT" ], "Pragma": [ "no-cache" @@ -522,7 +504,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "3434551c-8425-4a9a-99f3-529442761612" + "faeccd20-7260-4fde-b5e7-240a21cd12db" ], "X-AspNet-Version": [ "4.0.30319" @@ -531,35 +513,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1193" + "1195" ], "x-ms-correlation-request-id": [ - "26b33f77-823b-4e57-a61f-1e32d6c49941" + "c505759d-59bb-4954-81e1-514472e3d972" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010948Z:26b33f77-823b-4e57-a61f-1e32d6c49941" + "CENTRALUS:20170127T190229Z:c505759d-59bb-4954-81e1-514472e3d972" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites/csmws6132?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYxMzI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites/csmws295?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NpdGVzL2NzbXdzMjk1P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "749ab79f-ea5d-4c16-a92b-7a7671317bfe" + "cef7d09f-9a8f-4c24-b652-27ba5009e5c9" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -574,13 +553,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:49 GMT" + "Fri, 27 Jan 2017 19:02:31 GMT" ], "Pragma": [ "no-cache" ], "ETag": [ - "\"1D22F25A545B4B0\"" + "\"1D278CFE7CE010B\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -589,7 +568,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "d2a22ff9-c571-4177-97fd-633c43b12f3e" + "0289fa39-696f-4162-a7ca-2139fdfb6ba3" ], "X-AspNet-Version": [ "4.0.30319" @@ -598,35 +577,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1192" + "1194" ], "x-ms-correlation-request-id": [ - "020892e2-952f-4fd5-890f-e9c90324e514" + "97dd39d5-9c28-4d94-b78f-cafeace1af88" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010950Z:020892e2-952f-4fd5-890f-e9c90324e514" + "CENTRALUS:20170127T190232Z:97dd39d5-9c28-4d94-b78f-cafeace1af88" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4009/providers/Microsoft.Web/sites?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDAwOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg878/providers/Microsoft.Web/sites?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc4L3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViL3NpdGVzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "ff74a11b-7187-4f8e-8a9c-34ec652b9018" + "2473ab37-c80f-4fbf-b4aa-89b60994e14a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "{\r\n \"value\": [],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", @@ -641,7 +617,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:50 GMT" + "Fri, 27 Jan 2017 19:02:32 GMT" ], "Pragma": [ "no-cache" @@ -659,7 +635,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "415f5f17-8fb6-49b6-b298-b57e81e968fe" + "8f05a8eb-e711-418f-ac93-9ab5cd0b20d0" ], "X-AspNet-Version": [ "4.0.30319" @@ -668,13 +644,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14853" + "14903" ], "x-ms-correlation-request-id": [ - "fe315ce8-3733-4105-a10c-931754ef34c6" + "869eb024-eede-4c63-814e-de99a7ecc0a8" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010950Z:fe315ce8-3733-4105-a10c-931754ef34c6" + "CENTRALUS:20170127T190232Z:869eb024-eede-4c63-814e-de99a7ecc0a8" ] }, "StatusCode": 200 @@ -682,9 +658,9 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws6132", - "csmrg4009", - "csmwhp7086" + "csmws295", + "csmrg878", + "csmwhp5042" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyGetOnAWebsite.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyGetOnAWebsite.json index 2b209ece0db4..a0257697d088 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyGetOnAWebsite.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyGetOnAWebsite.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0c544a5c-2fdc-4b31-8ef3-f6f3905ee6bf" + "c3b0de1d-d5e8-4cb5-9399-4aa1f5a08f5a" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:10 GMT" + "Fri, 27 Jan 2017 19:03:04 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14874" + "14881" ], "x-ms-request-id": [ - "74bb84e5-79c9-41b7-9bdd-09c76e17394b" + "006f05b4-05b6-4a21-ad3b-22eeedcd5530" ], "x-ms-correlation-request-id": [ - "74bb84e5-79c9-41b7-9bdd-09c76e17394b" + "006f05b4-05b6-4a21-ad3b-22eeedcd5530" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011010Z:74bb84e5-79c9-41b7-9bdd-09c76e17394b" + "CENTRALUS:20170127T190305Z:006f05b4-05b6-4a21-ad3b-22eeedcd5530" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg6608?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNjYwOD9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8765?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODc2NT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "713d36fc-bde8-48d1-8c45-f8ac336a3c23" + "1f8be0bb-f6d7-4fc5-9e71-3d6556bade4b" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608\",\r\n \"name\": \"csmrg6608\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765\",\r\n \"name\": \"csmrg8765\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,22 +93,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:11 GMT" + "Fri, 27 Jan 2017 19:03:05 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" + "1194" ], "x-ms-request-id": [ - "4db88bf6-09f9-4e19-8486-aca10583b003" + "661400a7-939f-49e1-8575-b3b7d76f8f83" ], "x-ms-correlation-request-id": [ - "4db88bf6-09f9-4e19-8486-aca10583b003" + "661400a7-939f-49e1-8575-b3b7d76f8f83" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011011Z:4db88bf6-09f9-4e19-8486-aca10583b003" + "CENTRALUS:20170127T190306Z:661400a7-939f-49e1-8575-b3b7d76f8f83" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/serverfarms/csmwhp9929?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA5OTI5P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/serverfarms/csmwhp5752?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA1NzUyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp9929\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp5752\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "122" ], "x-ms-client-request-id": [ - "8eba16f2-7ecd-41da-897e-a9ee7ff7fe13" + "d3b9e0bd-9716-4cb6-b691-858a36b9e8ae" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/serverfarms/csmwhp9929\",\r\n \"name\": \"csmwhp9929\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp9929\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg6608-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg6608\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-047_7171\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/serverfarms/csmwhp5752\",\r\n \"name\": \"csmwhp5752\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp5752\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg8765-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg8765\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-025_13622\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:14 GMT" + "Fri, 27 Jan 2017 19:03:09 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "0558d15e-c611-4877-b456-adb115841438" + "ae33bd60-80e9-4b68-9e19-31cd335572df" ], "X-AspNet-Version": [ "4.0.30319" @@ -184,19 +181,19 @@ "1199" ], "x-ms-correlation-request-id": [ - "074cdd77-59c4-4094-9dbd-b100a077010e" + "10d2a7c7-5d29-433f-9609-56c0387b5c1e" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011015Z:074cdd77-59c4-4094-9dbd-b100a077010e" + "CENTRALUS:20170127T190309Z:10d2a7c7-5d29-433f-9609-56c0387b5c1e" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/sites/csmws2667?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czI2Njc/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/sites/csmws1549?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czE1NDk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/serverfarms/csmwhp9929\"\r\n },\r\n \"name\": \"csmws2667\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/serverfarms/csmwhp5752\"\r\n },\r\n \"name\": \"csmws1549\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -205,20 +202,17 @@ "292" ], "x-ms-client-request-id": [ - "f927ee96-e237-4e05-9bc5-338e7df547a0" + "4c9e45a5-bd15-4280-abb7-405f0967018e" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/sites/csmws2667\",\r\n \"name\": \"csmws2667\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws2667\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2667.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg6608-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-047.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg6608-SouthCentralUSwebspace/sites/csmws2667\",\r\n \"repositorySiteName\": \"csmws2667\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2667.azurewebsites.net\",\r\n \"csmws2667.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2667.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws2667.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/serverfarms/csmwhp9929\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:10:18.5966667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2667\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"40.84.197.51,40.84.199.153,40.84.195.30,40.84.195.47\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-047\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg6608\",\r\n \"defaultHostName\": \"csmws2667.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/sites/csmws1549\",\r\n \"name\": \"csmws1549\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws1549\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws1549.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8765-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-025.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8765-SouthCentralUSwebspace/sites/csmws1549\",\r\n \"repositorySiteName\": \"csmws1549\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws1549.azurewebsites.net\",\r\n \"csmws1549.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws1549.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws1549.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/serverfarms/csmwhp5752\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:03:10.827\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws1549\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"104.214.65.233,104.214.71.33,104.214.70.167,23.102.179.4\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-025\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg8765\",\r\n \"defaultHostName\": \"csmws1549.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:19 GMT" + "Fri, 27 Jan 2017 19:03:11 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "7ea22007-8c67-4aba-bc8c-b3601f334ded" + "df97ec24-fb31-49f4-b50a-ac297e147325" ], "X-AspNet-Version": [ "4.0.30319" @@ -260,35 +254,32 @@ "1198" ], "x-ms-correlation-request-id": [ - "fb8320ec-c7cb-4c1a-be09-79b8dc929441" + "3e6e1457-0fde-40b3-98d1-20c0051a8868" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011020Z:fb8320ec-c7cb-4c1a-be09-79b8dc929441" + "CENTRALUS:20170127T190312Z:3e6e1457-0fde-40b3-98d1-20c0051a8868" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/sites/csmws2667?propertiesToInclude=SiteConfig&api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjYwOC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czI2Njc/cHJvcGVydGllc1RvSW5jbHVkZT1TaXRlQ29uZmlnJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/sites/csmws1549?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czE1NDk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "8f0493eb-1197-4ac8-9668-533b1fb5e885" + "33eea456-2bd5-41ae-a4a7-ae2c520a494e" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/sites/csmws2667\",\r\n \"name\": \"csmws2667\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws2667\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2667.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg6608-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-047.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg6608-SouthCentralUSwebspace/sites/csmws2667\",\r\n \"repositorySiteName\": \"csmws2667\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2667.azurewebsites.net\",\r\n \"csmws2667.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2667.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws2667.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6608/providers/Microsoft.Web/serverfarms/csmwhp9929\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:10:18.6433333\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws2667\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": 0,\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": 1,\r\n \"routingRules\": [],\r\n \"experiments\": null,\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": null,\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n },\r\n \"deploymentId\": \"csmws2667\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"40.84.197.51,40.84.199.153,40.84.195.30,40.84.195.47\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-047\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg6608\",\r\n \"defaultHostName\": \"csmws2667.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/sites/csmws1549\",\r\n \"name\": \"csmws1549\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws1549\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws1549.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8765-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-025.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8765-SouthCentralUSwebspace/sites/csmws1549\",\r\n \"repositorySiteName\": \"csmws1549\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws1549.azurewebsites.net\",\r\n \"csmws1549.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws1549.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws1549.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/serverfarms/csmwhp5752\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:03:10.89\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws1549\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"104.214.65.233,104.214.71.33,104.214.70.167,23.102.179.4\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-025\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg8765\",\r\n \"defaultHostName\": \"csmws1549.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -300,7 +291,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:19 GMT" + "Fri, 27 Jan 2017 19:03:12 GMT" ], "Pragma": [ "no-cache" @@ -309,7 +300,74 @@ "chunked" ], "ETag": [ - "\"1D22F25B7856335\"" + "\"1D278D000C978A0\"" + ], + "Server": [ + "Microsoft-IIS/8.0" + ], + "Vary": [ + "Accept-Encoding" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "466ed8c2-ed4e-494a-9c09-ccee4d0c89a6" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "14924" + ], + "x-ms-correlation-request-id": [ + "de9b27ff-9f7e-47c0-8e9b-2f0646c570ed" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20170127T190312Z:de9b27ff-9f7e-47c0-8e9b-2f0646c570ed" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/sites/csmws1549/config/web?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODc2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czE1NDkvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "375cfaea-7775-4568-9b9d-0d050a518df9" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8765/providers/Microsoft.Web/sites/csmws1549/config/web\",\r\n \"name\": \"csmws1549\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws1549\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": \"Integrated\",\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": \"LeastRequests\",\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": null,\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", + "ResponseHeaders": { + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 27 Jan 2017 19:03:12 GMT" + ], + "Pragma": [ + "no-cache" + ], + "Transfer-Encoding": [ + "chunked" ], "Server": [ "Microsoft-IIS/8.0" @@ -321,7 +379,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "2840c8d9-c8b7-452b-bef0-48b1949cd2a0" + "0b5ce240-d21a-4a90-83a5-4a1a73d8a96f" ], "X-AspNet-Version": [ "4.0.30319" @@ -330,13 +388,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14900" + "14923" ], "x-ms-correlation-request-id": [ - "57e1d841-63be-448d-9d62-1673bda6ec7b" + "92b6e417-52d2-4581-9d00-15e25cb6d1e1" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011020Z:57e1d841-63be-448d-9d62-1673bda6ec7b" + "CENTRALUS:20170127T190312Z:92b6e417-52d2-4581-9d00-15e25cb6d1e1" ] }, "StatusCode": 200 @@ -344,9 +402,9 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws2667", - "csmrg6608", - "csmwhp9929" + "csmws1549", + "csmrg8765", + "csmwhp5752" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyListOfWebsites.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyListOfWebsites.json index 9f2591dcd28f..e9da1f5919a0 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyListOfWebsites.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/CreateAndVerifyListOfWebsites.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "df26a278-58d2-4349-bd61-696d94e85998" + "75eb78b1-2f27-4b14-88db-980236ada56a" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:40 GMT" + "Fri, 27 Jan 2017 18:58:08 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14808" + "14902" ], "x-ms-request-id": [ - "2ccc658f-1ba7-4cad-9404-6d11fb1f41e1" + "f8e84f0a-f991-4b66-899a-2702200d595c" ], "x-ms-correlation-request-id": [ - "2ccc658f-1ba7-4cad-9404-6d11fb1f41e1" + "f8e84f0a-f991-4b66-899a-2702200d595c" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010841Z:2ccc658f-1ba7-4cad-9404-6d11fb1f41e1" + "CENTRALUS:20170127T185809Z:f8e84f0a-f991-4b66-899a-2702200d595c" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8152?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODE1Mj9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg2829?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMjgyOT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "657598d4-b529-4caa-bfa0-7a00a41346f1" + "3411a3ab-b07c-4f4f-b5f5-bef5aa76f337" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152\",\r\n \"name\": \"csmrg8152\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829\",\r\n \"name\": \"csmrg2829\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,7 +93,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:41 GMT" + "Fri, 27 Jan 2017 18:58:09 GMT" ], "Pragma": [ "no-cache" @@ -102,13 +102,13 @@ "1199" ], "x-ms-request-id": [ - "afc71011-e193-42c1-b5d7-0f6cc5642584" + "fbf7d1bc-767e-4e8c-b8e6-b9f985599fde" ], "x-ms-correlation-request-id": [ - "afc71011-e193-42c1-b5d7-0f6cc5642584" + "fbf7d1bc-767e-4e8c-b8e6-b9f985599fde" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010841Z:afc71011-e193-42c1-b5d7-0f6cc5642584" + "CENTRALUS:20170127T185810Z:fbf7d1bc-767e-4e8c-b8e6-b9f985599fde" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,32 +117,29 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/serverfarms/csmwhp137?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODE1Mi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHAxMzc/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/serverfarms/csmwhp2135?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMjgyOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHAyMTM1P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp137\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp2135\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "121" + "122" ], "x-ms-client-request-id": [ - "903ba246-67a1-48c1-9d08-15ceb3095571" + "4d2daaba-9bb1-4112-8369-b097b0ebd33f" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/serverfarms/csmwhp137\",\r\n \"name\": \"csmwhp137\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp137\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8152-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8152\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-017_13237\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/serverfarms/csmwhp2135\",\r\n \"name\": \"csmwhp2135\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp2135\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg2829-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg2829\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-083_3674\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:45 GMT" + "Fri, 27 Jan 2017 18:58:12 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "40141e21-1b6e-4f28-a8fd-e7fd7d166af0" + "d32a0fac-0b0e-4a26-97d3-65c1c8084829" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,44 +178,41 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" + "1199" ], "x-ms-correlation-request-id": [ - "554a6a5b-55cf-474c-b170-82c466bfa12f" + "0ce8e5cf-cafc-4375-9daf-78f47067aa3f" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010846Z:554a6a5b-55cf-474c-b170-82c466bfa12f" + "CENTRALUS:20170127T185813Z:0ce8e5cf-cafc-4375-9daf-78f47067aa3f" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/sites/csmws8355?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODE1Mi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czgzNTU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/sites/csmws2924?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMjgyOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czI5MjQ/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/serverfarms/csmwhp137\"\r\n },\r\n \"name\": \"csmws8355\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/serverfarms/csmwhp2135\"\r\n },\r\n \"name\": \"csmws2924\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "291" + "292" ], "x-ms-client-request-id": [ - "f12cff80-2f41-44d9-9616-22d98d865872" + "2540e6e5-6a7d-4d24-a7c0-83525cc38250" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/sites/csmws8355\",\r\n \"name\": \"csmws8355\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws8355\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws8355.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8152-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-017.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8152-SouthCentralUSwebspace/sites/csmws8355\",\r\n \"repositorySiteName\": \"csmws8355\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws8355.azurewebsites.net\",\r\n \"csmws8355.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws8355.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws8355.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/serverfarms/csmwhp137\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:08:47.773\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws8355\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"40.84.237.20,40.84.238.55,40.84.237.25,40.84.236.152\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-017\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg8152\",\r\n \"defaultHostName\": \"csmws8355.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/sites/csmws2924\",\r\n \"name\": \"csmws2924\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws2924\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2924.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg2829-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg2829-SouthCentralUSwebspace/sites/csmws2924\",\r\n \"repositorySiteName\": \"csmws2924\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2924.azurewebsites.net\",\r\n \"csmws2924.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2924.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws2924.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/serverfarms/csmwhp2135\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T18:58:14.5866667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2924\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg2829\",\r\n \"defaultHostName\": \"csmws2924.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:49 GMT" + "Fri, 27 Jan 2017 18:58:17 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "fc1d3507-d54c-4631-af55-f0bae8aa2ecf" + "cabc1ac2-7eb0-454b-abaa-a29d73b168ea" ], "X-AspNet-Version": [ "4.0.30319" @@ -257,38 +251,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "1198" ], "x-ms-correlation-request-id": [ - "012cbbe7-dfd6-4081-9487-8e5a3a56444a" + "bbc2cf94-1788-4be6-b0b2-9e6f176719e1" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010849Z:012cbbe7-dfd6-4081-9487-8e5a3a56444a" + "CENTRALUS:20170127T185818Z:bbc2cf94-1788-4be6-b0b2-9e6f176719e1" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/sites?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODE1Mi9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/sites?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMjgyOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "dca8a156-b16b-4639-9c7b-7ef5a92fcbe6" + "5c0271e6-f9b0-4d19-a7c5-80fe84630a24" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/sites/csmws8355\",\r\n \"name\": \"csmws8355\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws8355\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws8355.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8152-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-017.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8152-SouthCentralUSwebspace/sites/csmws8355\",\r\n \"repositorySiteName\": \"csmws8355\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws8355.azurewebsites.net\",\r\n \"csmws8355.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws8355.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws8355.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8152/providers/Microsoft.Web/serverfarms/csmwhp137\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:08:47.93\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws8355\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"40.84.237.20,40.84.238.55,40.84.237.25,40.84.236.152\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-017\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg8152\",\r\n \"defaultHostName\": \"csmws8355.azurewebsites.net\"\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/sites/csmws2924\",\r\n \"name\": \"csmws2924\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws2924\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2924.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg2829-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg2829-SouthCentralUSwebspace/sites/csmws2924\",\r\n \"repositorySiteName\": \"csmws2924\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2924.azurewebsites.net\",\r\n \"csmws2924.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2924.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws2924.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg2829/providers/Microsoft.Web/serverfarms/csmwhp2135\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T18:58:14.6466667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2924\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg2829\",\r\n \"defaultHostName\": \"csmws2924.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -300,7 +291,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:49 GMT" + "Fri, 27 Jan 2017 18:58:18 GMT" ], "Pragma": [ "no-cache" @@ -318,7 +309,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "a5278cea-3994-47fd-a5df-c96e8d482c1e" + "617242b7-65b6-4e37-aa8c-07319b8071d0" ], "X-AspNet-Version": [ "4.0.30319" @@ -327,13 +318,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14858" + "14881" ], "x-ms-correlation-request-id": [ - "44aaf9e0-9663-43cb-9820-7c931d26b292" + "fd8963be-0f70-474c-b64d-702e2d618838" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010849Z:44aaf9e0-9663-43cb-9820-7c931d26b292" + "CENTRALUS:20170127T185819Z:fd8963be-0f70-474c-b64d-702e2d618838" ] }, "StatusCode": 200 @@ -341,9 +332,9 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws8355", - "csmrg8152", - "csmwhp137" + "csmws2924", + "csmrg2829", + "csmwhp2135" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetNonSensitiveSiteConfigs.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetNonSensitiveSiteConfigs.json index f461c3672b62..b9f0cd225e6a 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetNonSensitiveSiteConfigs.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetNonSensitiveSiteConfigs.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "5b7c1fbc-d7a4-4cf2-98a5-80a105e6963c" + "12761d48-fd6f-4a12-b549-75e134406fa1" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:52 GMT" + "Fri, 27 Jan 2017 19:02:50 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14882" + "14811" ], "x-ms-request-id": [ - "468178ec-80c5-408a-a2c7-c81c75cb1ded" + "8285c73c-e2e6-40bc-8a2e-c6c3b7ab30bf" ], "x-ms-correlation-request-id": [ - "468178ec-80c5-408a-a2c7-c81c75cb1ded" + "8285c73c-e2e6-40bc-8a2e-c6c3b7ab30bf" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010952Z:468178ec-80c5-408a-a2c7-c81c75cb1ded" + "CENTRALUS:20170127T190250Z:8285c73c-e2e6-40bc-8a2e-c6c3b7ab30bf" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg1035?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMTAzNT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg7210?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNzIxMD9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "3f9db76a-3b57-40c4-9817-f99fcaed6f38" + "b088f5ba-1f7e-4213-b805-e01adf10dbc3" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035\",\r\n \"name\": \"csmrg1035\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210\",\r\n \"name\": \"csmrg7210\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,7 +93,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:53 GMT" + "Fri, 27 Jan 2017 19:02:50 GMT" ], "Pragma": [ "no-cache" @@ -102,13 +102,13 @@ "1198" ], "x-ms-request-id": [ - "799af98f-e396-4678-8cd3-a8b523dd444a" + "5892c211-777e-4cf0-afd5-b513ed3fa6b0" ], "x-ms-correlation-request-id": [ - "799af98f-e396-4678-8cd3-a8b523dd444a" + "5892c211-777e-4cf0-afd5-b513ed3fa6b0" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010953Z:799af98f-e396-4678-8cd3-a8b523dd444a" + "CENTRALUS:20170127T190251Z:5892c211-777e-4cf0-afd5-b513ed3fa6b0" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,32 +117,29 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/serverfarms/csmwhp762?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTAzNS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA3NjI/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/serverfarms/csmwhp5383?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzIxMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA1MzgzP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp762\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp5383\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "121" + "122" ], "x-ms-client-request-id": [ - "919a4a05-36af-44aa-80f3-a55a0e4a9c05" + "3f33b039-f2f7-4b2b-b12f-588daa383dd0" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/serverfarms/csmwhp762\",\r\n \"name\": \"csmwhp762\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp762\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg1035-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg1035\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-057_4829\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/serverfarms/csmwhp5383\",\r\n \"name\": \"csmwhp5383\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp5383\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg7210-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg7210\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-027_14437\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:56 GMT" + "Fri, 27 Jan 2017 19:02:53 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "45993df9-2c6a-40e9-abe6-bec1956e9ee3" + "2a8aaaca-b5e4-4216-980b-c50ca2f38a83" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,44 +178,41 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1194" + "1199" ], "x-ms-correlation-request-id": [ - "26fc6751-c9c6-45e5-9400-2505df9be759" + "186582cf-4518-4366-b11c-a672343313a5" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010956Z:26fc6751-c9c6-45e5-9400-2505df9be759" + "CENTRALUS:20170127T190254Z:186582cf-4518-4366-b11c-a672343313a5" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTAzNS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czUzMDI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzIxMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czEyMjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/serverfarms/csmwhp762\"\r\n },\r\n \"name\": \"csmws5302\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/serverfarms/csmwhp5383\"\r\n },\r\n \"name\": \"csmws1229\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "291" + "292" ], "x-ms-client-request-id": [ - "c6e14683-9c5e-45a9-80e0-76df5f39323c" + "eba4c4f2-2c6c-4523-8126-c5eca17e45d3" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302\",\r\n \"name\": \"csmws5302\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws5302\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws5302.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg1035-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-057.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg1035-SouthCentralUSwebspace/sites/csmws5302\",\r\n \"repositorySiteName\": \"csmws5302\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws5302.azurewebsites.net\",\r\n \"csmws5302.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws5302.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws5302.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/serverfarms/csmwhp762\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:10:00.2433333\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws5302\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"13.84.146.37,13.84.149.33,13.84.147.169,13.84.145.5\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-057\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg1035\",\r\n \"defaultHostName\": \"csmws5302.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229\",\r\n \"name\": \"csmws1229\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws1229\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws1229.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg7210-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-027.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg7210-SouthCentralUSwebspace/sites/csmws1229\",\r\n \"repositorySiteName\": \"csmws1229\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws1229.azurewebsites.net\",\r\n \"csmws1229.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws1229.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws1229.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/serverfarms/csmwhp5383\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:02:56.267\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws1229\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"40.124.15.33,40.124.9.41,40.124.9.201,40.124.10.240\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-027\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg7210\",\r\n \"defaultHostName\": \"csmws1229.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:00 GMT" + "Fri, 27 Jan 2017 19:02:59 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "cf0cb6d1-9737-43b8-85ff-5937eca08c3d" + "a7205451-139f-49ba-b3ec-84a17754c330" ], "X-AspNet-Version": [ "4.0.30319" @@ -257,38 +251,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1193" + "1198" ], "x-ms-correlation-request-id": [ - "731ff091-980a-435f-a0f7-ebb952477ff4" + "a10bb1b1-f81b-4b3a-90b0-20327d3aa74a" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011001Z:731ff091-980a-435f-a0f7-ebb952477ff4" + "CENTRALUS:20170127T190259Z:a10bb1b1-f81b-4b3a-90b0-20327d3aa74a" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302/config/web?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTAzNS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czUzMDIvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229/config/web?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzIxMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czEyMjkvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "27238e1a-ec02-4892-995c-44f3e5cfd3e6" + "6ac3cc3c-7133-48ce-89a0-d4e48484b56e" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302/config/web\",\r\n \"name\": \"csmws5302\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws5302\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": 0,\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": 1,\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": null,\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229/config/web\",\r\n \"name\": \"csmws1229\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws1229\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": \"Integrated\",\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": \"LeastRequests\",\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": null,\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -300,7 +291,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:03 GMT" + "Fri, 27 Jan 2017 19:02:59 GMT" ], "Pragma": [ "no-cache" @@ -318,7 +309,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "889dbf5c-4e01-4202-89fc-926cbec38968" + "48c4709d-b77a-4ff4-95eb-f5c2f827b7ba" ], "X-AspNet-Version": [ "4.0.30319" @@ -327,38 +318,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14896" + "14891" ], "x-ms-correlation-request-id": [ - "f765d5c3-607b-44e3-863c-6b73857b107b" + "badfb78c-1961-4bd2-94d5-24f0064ea27c" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011004Z:f765d5c3-607b-44e3-863c-6b73857b107b" + "CENTRALUS:20170127T190300Z:badfb78c-1961-4bd2-94d5-24f0064ea27c" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302/config/web?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTAzNS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czUzMDIvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229/config/web?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzIxMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czEyMjkvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "cc8725e1-cc45-414d-80ca-6f103b149cc1" + "1e4b3311-bdca-47e6-95e3-430ac14eaea8" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302/config/web\",\r\n \"name\": \"csmws5302\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"3.4\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws5302\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": 0,\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": 1,\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229/config/web\",\r\n \"name\": \"csmws1229\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"3.4\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws1229\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": \"Integrated\",\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": \"LeastRequests\",\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -370,7 +358,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:07 GMT" + "Fri, 27 Jan 2017 19:03:01 GMT" ], "Pragma": [ "no-cache" @@ -388,7 +376,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "4fda93c3-6058-428a-bb5c-46dc5d3d0594" + "02f48758-d5fa-436b-a00b-686f2ee869b2" ], "X-AspNet-Version": [ "4.0.30319" @@ -397,20 +385,20 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14894" + "14890" ], "x-ms-correlation-request-id": [ - "a461f799-74fe-41f2-a6a2-2d9e19b6afce" + "178eafb6-5a1f-4a17-b03e-db4572a0781f" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011007Z:a461f799-74fe-41f2-a6a2-2d9e19b6afce" + "CENTRALUS:20170127T190301Z:178eafb6-5a1f-4a17-b03e-db4572a0781f" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302/config/web?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTAzNS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czUzMDIvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229/config/web?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNzIxMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czEyMjkvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "PATCH", "RequestBody": "{\r\n \"properties\": {\r\n \"pythonVersion\": \"3.4\"\r\n },\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -421,20 +409,17 @@ "91" ], "x-ms-client-request-id": [ - "4286b990-c126-4c7a-8c3d-e5d20c5956e6" + "29b37491-c4e1-44ae-b830-89585e7bd529" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1035/providers/Microsoft.Web/sites/csmws5302\",\r\n \"name\": \"csmws5302\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"3.4\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws5302\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": 0,\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": 1,\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg7210/providers/Microsoft.Web/sites/csmws1229\",\r\n \"name\": \"csmws1229\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"3.4\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws1229\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": \"Integrated\",\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": \"LeastRequests\",\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": null,\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -446,7 +431,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:10:06 GMT" + "Fri, 27 Jan 2017 19:03:00 GMT" ], "Pragma": [ "no-cache" @@ -464,7 +449,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "7a41a82a-f9f3-4aa6-88cc-0f3dd05ed635" + "a94a318f-bb02-4f95-b7d0-d657442f30e6" ], "X-AspNet-Version": [ "4.0.30319" @@ -473,13 +458,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1192" + "1197" ], "x-ms-correlation-request-id": [ - "7ca22c66-7465-4904-bb88-750ab08bfc58" + "249d3b57-81ce-4665-a54c-1d93f909b770" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011006Z:7ca22c66-7465-4904-bb88-750ab08bfc58" + "CENTRALUS:20170127T190301Z:249d3b57-81ce-4665-a54c-1d93f909b770" ] }, "StatusCode": 200 @@ -487,9 +472,9 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws5302", - "csmrg1035", - "csmwhp762" + "csmws1229", + "csmrg7210", + "csmwhp5383" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSensitiveSiteConfigs.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSensitiveSiteConfigs.json index ca1b142e641b..a8e691bb8a63 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSensitiveSiteConfigs.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSensitiveSiteConfigs.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "b28fb9cf-2dc3-4696-835c-67792f4ee14b" + "4f4d3cf3-bb9e-44f1-81b4-2f3e0af3ee1a" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:16:49 GMT" + "Fri, 27 Jan 2017 18:57:44 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14890" + "14918" ], "x-ms-request-id": [ - "aa187102-1c55-46f8-b659-bfbad3eac44b" + "ff434b55-2c21-4409-a1ae-37082fbf286f" ], "x-ms-correlation-request-id": [ - "aa187102-1c55-46f8-b659-bfbad3eac44b" + "ff434b55-2c21-4409-a1ae-37082fbf286f" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011649Z:aa187102-1c55-46f8-b659-bfbad3eac44b" + "CENTRALUS:20170127T185744Z:ff434b55-2c21-4409-a1ae-37082fbf286f" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg6853?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNjg1Mz9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg1990?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMTk5MD9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "d4f3fe74-1fb5-4539-b650-ffa280eb6bb1" + "88ac822e-e816-4491-a600-6af6b1017037" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853\",\r\n \"name\": \"csmrg6853\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990\",\r\n \"name\": \"csmrg1990\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,22 +93,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:16:50 GMT" + "Fri, 27 Jan 2017 18:57:45 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "1199" ], "x-ms-request-id": [ - "64d5e767-1c4e-4ecd-957e-50851d8f690c" + "14a539f8-aeb6-412c-84f8-d5cd1fcec469" ], "x-ms-correlation-request-id": [ - "64d5e767-1c4e-4ecd-957e-50851d8f690c" + "14a539f8-aeb6-412c-84f8-d5cd1fcec469" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011650Z:64d5e767-1c4e-4ecd-957e-50851d8f690c" + "CENTRALUS:20170127T185745Z:14a539f8-aeb6-412c-84f8-d5cd1fcec469" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/serverfarms/csmwhp4396?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA0Mzk2P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/serverfarms/csmwhp2628?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHAyNjI4P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp4396\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp2628\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "122" ], "x-ms-client-request-id": [ - "8bea9f72-edc3-405b-983b-f96959b3e49e" + "d07e40f4-0717-47ae-b2c7-d117a6d39a0d" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/serverfarms/csmwhp4396\",\r\n \"name\": \"csmwhp4396\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp4396\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg6853-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg6853\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-051_6770\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/serverfarms/csmwhp2628\",\r\n \"name\": \"csmwhp2628\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp2628\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg1990-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg1990\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-027_14433\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:16:53 GMT" + "Fri, 27 Jan 2017 18:57:48 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "79829380-567d-4cdf-be79-07d4cf29f6b5" + "e73c2af0-2466-46fd-b0f1-3e269fb1078d" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,22 +178,22 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" + "1197" ], "x-ms-correlation-request-id": [ - "82927472-bb65-4bd5-a6af-d6142a2c344a" + "80a328c8-264e-441c-8dff-56efd54b2568" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011654Z:82927472-bb65-4bd5-a6af-d6142a2c344a" + "CENTRALUS:20170127T185748Z:80a328c8-264e-441c-8dff-56efd54b2568" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTA/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjM/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/serverfarms/csmwhp4396\"\r\n },\r\n \"name\": \"csmws9510\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/serverfarms/csmwhp2628\"\r\n },\r\n \"name\": \"csmws4063\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -205,20 +202,17 @@ "292" ], "x-ms-client-request-id": [ - "80cc4e75-5af8-4e73-a453-4359dd8eda77" + "f8fae016-1b5d-42e4-9867-30cf3b3a6b0a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510\",\r\n \"name\": \"csmws9510\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws9510\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws9510.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg6853-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-051.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg6853-SouthCentralUSwebspace/sites/csmws9510\",\r\n \"repositorySiteName\": \"csmws9510\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws9510.azurewebsites.net\",\r\n \"csmws9510.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws9510.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws9510.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/serverfarms/csmwhp4396\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:16:55.84\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws9510\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.214.116.178,104.214.113.70,104.214.117.200,40.84.199.117\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-051\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg6853\",\r\n \"defaultHostName\": \"csmws9510.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063\",\r\n \"name\": \"csmws4063\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws4063\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws4063.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg1990-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-027.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg1990-SouthCentralUSwebspace/sites/csmws4063\",\r\n \"repositorySiteName\": \"csmws4063\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws4063.azurewebsites.net\",\r\n \"csmws4063.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws4063.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws4063.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/serverfarms/csmwhp2628\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T18:57:51.5\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws4063\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"40.124.15.33,40.124.9.41,40.124.9.201,40.124.10.240\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-027\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg1990\",\r\n \"defaultHostName\": \"csmws4063.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:16:59 GMT" + "Fri, 27 Jan 2017 18:57:58 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "e0a3342f-a3da-4873-b5c0-1187b9962b2c" + "7d021193-15d1-48c1-8b95-3aad12c6ec5d" ], "X-AspNet-Version": [ "4.0.30319" @@ -257,20 +251,20 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" + "1196" ], "x-ms-correlation-request-id": [ - "59041866-1dde-4629-a0a4-0afc4bb210c1" + "50cf409c-517a-4414-af50-3122a1b93abc" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011700Z:59041866-1dde-4629-a0a4-0afc4bb210c1" + "CENTRALUS:20170127T185759Z:50cf409c-517a-4414-af50-3122a1b93abc" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/appsettings?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvY29uZmlnL2FwcHNldHRpbmdzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/appsettings?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvY29uZmlnL2FwcHNldHRpbmdzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "PUT", "RequestBody": "{\r\n \"properties\": {\r\n \"Application Setting1\": \"Setting Value 1\"\r\n },\r\n \"name\": \"Application Setting1\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -281,20 +275,17 @@ "145" ], "x-ms-client-request-id": [ - "8aae099e-4f20-45a3-a6a5-1ebe738e5a4d" + "549750b3-810e-4888-b17e-090419c275bd" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/appsettings\",\r\n \"name\": \"appsettings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Application Setting1\": \"Setting Value 1\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/appsettings\",\r\n \"name\": \"appsettings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Application Setting1\": \"Setting Value 1\"\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -306,7 +297,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:00 GMT" + "Fri, 27 Jan 2017 18:57:59 GMT" ], "Pragma": [ "no-cache" @@ -324,7 +315,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "db96f152-59af-49de-9d4d-705d23605927" + "07812ba5-b486-4ba8-b6f1-0ed52728f3d8" ], "X-AspNet-Version": [ "4.0.30319" @@ -333,38 +324,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "1195" ], "x-ms-correlation-request-id": [ - "f25f531b-d79c-40a6-9fb8-f194d0447b73" + "3dfa72bc-0c00-4aa0-8636-35914c5261ae" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011701Z:f25f531b-d79c-40a6-9fb8-f194d0447b73" + "CENTRALUS:20170127T185759Z:3dfa72bc-0c00-4aa0-8636-35914c5261ae" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/appsettings/list?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvY29uZmlnL2FwcHNldHRpbmdzL2xpc3Q/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/appsettings/list?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvY29uZmlnL2FwcHNldHRpbmdzL2xpc3Q/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "POST", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "d829a2d2-f3e4-4f72-9ecb-9bb2477dffc6" + "f5e7240f-ee2e-4599-ad68-0e9132f8a9bd" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/appsettings\",\r\n \"name\": \"appsettings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Application Setting1\": \"Setting Value 1\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/appsettings\",\r\n \"name\": \"appsettings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Application Setting1\": \"Setting Value 1\"\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -376,7 +364,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:00 GMT" + "Fri, 27 Jan 2017 18:57:59 GMT" ], "Pragma": [ "no-cache" @@ -394,7 +382,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "7d5930eb-eaa2-4c18-9b28-500efb0dcf1f" + "52d62ed9-c331-41ac-89bb-db857910d239" ], "X-AspNet-Version": [ "4.0.30319" @@ -403,20 +391,20 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-resource-requests": [ - "11935" + "11933" ], "x-ms-correlation-request-id": [ - "727b946f-ba5f-4c22-bfd7-14734cfbfc9a" + "b2cb3533-7dbd-435a-8909-40c8e24712b4" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011701Z:727b946f-ba5f-4c22-bfd7-14734cfbfc9a" + "CENTRALUS:20170127T185800Z:b2cb3533-7dbd-435a-8909-40c8e24712b4" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/metadata?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvY29uZmlnL21ldGFkYXRhP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/metadata?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvY29uZmlnL21ldGFkYXRhP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "PUT", "RequestBody": "{\r\n \"properties\": {\r\n \"Metadata 1\": \"Metadata Value 1\"\r\n },\r\n \"name\": \"Metadata 1\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -427,20 +415,17 @@ "126" ], "x-ms-client-request-id": [ - "380a0e70-0577-4e62-bcc4-fa5e79276197" + "5b9f38f6-ff9b-4d93-9c88-9fcce5ebdfd0" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/metadata\",\r\n \"name\": \"metadata\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Metadata 1\": \"Metadata Value 1\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/metadata\",\r\n \"name\": \"metadata\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Metadata 1\": \"Metadata Value 1\"\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -452,7 +437,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:01 GMT" + "Fri, 27 Jan 2017 18:57:59 GMT" ], "Pragma": [ "no-cache" @@ -470,7 +455,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "5e4c1b3f-f5aa-49a7-bb52-cd5fcf8c4528" + "afe2c785-729a-44d4-9c54-ee01ec7848d9" ], "X-AspNet-Version": [ "4.0.30319" @@ -479,38 +464,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1196" + "1194" ], "x-ms-correlation-request-id": [ - "bff66bef-3f39-4fa6-af80-54a0828451ab" + "06d1cfbb-c56e-404b-8e74-c2bc30b73107" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011701Z:bff66bef-3f39-4fa6-af80-54a0828451ab" + "CENTRALUS:20170127T185800Z:06d1cfbb-c56e-404b-8e74-c2bc30b73107" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/metadata/list?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvY29uZmlnL21ldGFkYXRhL2xpc3Q/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/metadata/list?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvY29uZmlnL21ldGFkYXRhL2xpc3Q/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "POST", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "274f1333-5eab-45ea-8436-ffdc5ecf2c1d" + "f29b7615-43db-4628-9761-060cf02c62f5" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/metadata\",\r\n \"name\": \"metadata\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Metadata 1\": \"Metadata Value 1\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/metadata\",\r\n \"name\": \"metadata\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"Metadata 1\": \"Metadata Value 1\"\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -522,7 +504,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:01 GMT" + "Fri, 27 Jan 2017 18:57:59 GMT" ], "Pragma": [ "no-cache" @@ -540,7 +522,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "65826d6b-5ec2-432a-989d-d2bf7fd14643" + "aeef94ba-c53b-407d-983a-ee13ea80e259" ], "X-AspNet-Version": [ "4.0.30319" @@ -549,20 +531,20 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-resource-requests": [ - "11934" + "11932" ], "x-ms-correlation-request-id": [ - "e5824887-5d2a-4a16-9108-b4bd0f2fa2b3" + "c64a6c1a-7dc7-4085-9432-cf0e015e2941" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011701Z:e5824887-5d2a-4a16-9108-b4bd0f2fa2b3" + "CENTRALUS:20170127T185800Z:c64a6c1a-7dc7-4085-9432-cf0e015e2941" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/connectionstrings?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvY29uZmlnL2Nvbm5lY3Rpb25zdHJpbmdzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/connectionstrings?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvY29uZmlnL2Nvbm5lY3Rpb25zdHJpbmdzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "PUT", "RequestBody": "{\r\n \"properties\": {\r\n \"ConnectionString 1\": {\r\n \"value\": \"ConnectionString Value 1\",\r\n \"type\": \"MySql\"\r\n }\r\n },\r\n \"name\": \"ConnectionStringDictionary 1\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -573,20 +555,17 @@ "209" ], "x-ms-client-request-id": [ - "0c868744-6041-453c-b41f-8166798ea367" + "eb912f5d-c71f-4ffa-8b76-d751da4cd9bc" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/connectionstrings\",\r\n \"name\": \"connectionstrings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"ConnectionString 1\": {\r\n \"value\": \"ConnectionString Value 1\",\r\n \"type\": 0\r\n }\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/connectionstrings\",\r\n \"name\": \"connectionstrings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"ConnectionString 1\": {\r\n \"value\": \"ConnectionString Value 1\",\r\n \"type\": \"MySql\"\r\n }\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -598,7 +577,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:01 GMT" + "Fri, 27 Jan 2017 18:58:00 GMT" ], "Pragma": [ "no-cache" @@ -616,7 +595,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "5356a90d-1800-4084-ac50-fa6c2defee4d" + "592343c4-0f7b-4eef-8cef-ee5fe1563856" ], "X-AspNet-Version": [ "4.0.30319" @@ -625,38 +604,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1195" + "1193" ], "x-ms-correlation-request-id": [ - "24e81aca-b35d-4736-8cbb-226dd179f9b0" + "fda03a15-793e-4905-b30f-b182b6c716ea" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011702Z:24e81aca-b35d-4736-8cbb-226dd179f9b0" + "CENTRALUS:20170127T185800Z:fda03a15-793e-4905-b30f-b182b6c716ea" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/connectionstrings/list?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvY29uZmlnL2Nvbm5lY3Rpb25zdHJpbmdzL2xpc3Q/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/connectionstrings/list?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvY29uZmlnL2Nvbm5lY3Rpb25zdHJpbmdzL2xpc3Q/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "POST", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "591f3711-f236-415e-9deb-1a7e558aca89" + "82806199-01e8-49f9-952f-91e44176879b" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/connectionstrings\",\r\n \"name\": \"connectionstrings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"ConnectionString 1\": {\r\n \"value\": \"ConnectionString Value 1\",\r\n \"type\": 0\r\n }\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/connectionstrings\",\r\n \"name\": \"connectionstrings\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"ConnectionString 1\": {\r\n \"value\": \"ConnectionString Value 1\",\r\n \"type\": \"MySql\"\r\n }\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -668,7 +644,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:01 GMT" + "Fri, 27 Jan 2017 18:58:00 GMT" ], "Pragma": [ "no-cache" @@ -686,7 +662,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "15634bb5-f5a8-4406-ac49-53a5d710be6f" + "58620d49-1dcd-4c6e-a5fc-9d5760561ad8" ], "X-AspNet-Version": [ "4.0.30319" @@ -695,38 +671,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-resource-requests": [ - "11933" + "11931" ], "x-ms-correlation-request-id": [ - "05885b69-5315-4d1a-8c84-a53e3aa1e54f" + "30ed274f-81ea-4f59-b116-19ffd929367d" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011702Z:05885b69-5315-4d1a-8c84-a53e3aa1e54f" + "CENTRALUS:20170127T185801Z:30ed274f-81ea-4f59-b116-19ffd929367d" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/config/publishingcredentials/list?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvY29uZmlnL3B1Ymxpc2hpbmdjcmVkZW50aWFscy9saXN0P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/config/publishingcredentials/list?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvY29uZmlnL3B1Ymxpc2hpbmdjcmVkZW50aWFscy9saXN0P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "POST", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "739a4dab-ca3a-46f0-b866-6fc30b2a19e3" + "612031a2-fd3f-4be5-a925-c37731b48053" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/publishingcredentials/$csmws9510\",\r\n \"name\": \"csmws9510\",\r\n \"type\": \"Microsoft.Web/sites/publishingcredentials\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": null,\r\n \"publishingUserName\": \"$csmws9510\",\r\n \"publishingPassword\": \"ztFpYuzvjRKl4xZ22EWitqcdgPvh0bCHddZZrdrlmduqnv0gbMsCk0WT71LW\",\r\n \"publishingPasswordHash\": null,\r\n \"publishingPasswordHashSalt\": null,\r\n \"metadata\": null,\r\n \"isDeleted\": false,\r\n \"scmUri\": \"https://$csmws9510:ztFpYuzvjRKl4xZ22EWitqcdgPvh0bCHddZZrdrlmduqnv0gbMsCk0WT71LW@csmws9510.scm.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/publishingcredentials/$csmws4063\",\r\n \"name\": \"csmws4063\",\r\n \"type\": \"Microsoft.Web/sites/publishingcredentials\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": null,\r\n \"publishingUserName\": \"$csmws4063\",\r\n \"publishingPassword\": \"oe6JM6fAckWjYEljHjbJ1kfSpYa7qQMRcja6BNjNfac6i6NHL1mg9oBNrypT\",\r\n \"publishingPasswordHash\": null,\r\n \"publishingPasswordHashSalt\": null,\r\n \"metadata\": null,\r\n \"isDeleted\": false,\r\n \"scmUri\": \"https://$csmws4063:oe6JM6fAckWjYEljHjbJ1kfSpYa7qQMRcja6BNjNfac6i6NHL1mg9oBNrypT@csmws4063.scm.azurewebsites.net\"\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -738,7 +711,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:02 GMT" + "Fri, 27 Jan 2017 18:58:00 GMT" ], "Pragma": [ "no-cache" @@ -756,7 +729,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "e1909a94-853a-4697-a4e7-f08a63d9e4a3" + "3928d6ce-af1f-4ee3-958a-2b4803f64bcd" ], "X-AspNet-Version": [ "4.0.30319" @@ -765,20 +738,20 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-resource-requests": [ - "11932" + "11930" ], "x-ms-correlation-request-id": [ - "5158483f-3d2e-4d45-8fb9-343e41ca99b5" + "6041acea-f02c-4880-86b0-605b2b39741b" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011702Z:5158483f-3d2e-4d45-8fb9-343e41ca99b5" + "CENTRALUS:20170127T185801Z:6041acea-f02c-4880-86b0-605b2b39741b" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510/publishxml?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTAvcHVibGlzaHhtbD9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063/publishxml?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjMvcHVibGlzaHhtbD9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "POST", "RequestBody": "{\r\n \"format\": \"WebDeploy\"\r\n}", "RequestHeaders": { @@ -789,23 +762,20 @@ "29" ], "x-ms-client-request-id": [ - "5c0a9442-ed3d-46cf-9e78-6525273bacbb" + "a34f3193-939a-470a-8cdd-7bf46b9c3678" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", + "ResponseBody": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", "ResponseHeaders": { "Content-Length": [ - "1339" + "1291" ], "Content-Type": [ "application/xml" @@ -817,7 +787,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:02 GMT" + "Fri, 27 Jan 2017 18:58:00 GMT" ], "Pragma": [ "no-cache" @@ -838,35 +808,32 @@ "11999" ], "x-ms-request-id": [ - "e078108a-4c9a-4e3a-a046-acffd223f17a" + "9d679623-0a79-4a9e-9bd2-44d17a72f98c" ], "x-ms-correlation-request-id": [ - "e078108a-4c9a-4e3a-a046-acffd223f17a" + "9d679623-0a79-4a9e-9bd2-44d17a72f98c" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011702Z:e078108a-4c9a-4e3a-a046-acffd223f17a" + "CENTRALUS:20170127T185801Z:9d679623-0a79-4a9e-9bd2-44d17a72f98c" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/sites/csmws9510?deleteMetrics=true&api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk1MTA/ZGVsZXRlTWV0cmljcz10cnVlJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/sites/csmws4063?deleteMetrics=true&api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQwNjM/ZGVsZXRlTWV0cmljcz10cnVlJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "632467de-c776-495b-bf53-1bf08731e75f" + "067ce489-962e-42b4-b5f8-6f9405c21eea" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -881,13 +848,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:06 GMT" + "Fri, 27 Jan 2017 18:58:02 GMT" ], "Pragma": [ "no-cache" ], "ETag": [ - "\"1D22F26A7C06935\"" + "\"1D278CF48359440\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -896,7 +863,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "a9d7a109-4a02-48be-b3f9-ad743d939ad1" + "cfeaeca4-6aea-4903-9dd2-b288ef3b7772" ], "X-AspNet-Version": [ "4.0.30319" @@ -905,35 +872,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1194" + "1192" ], "x-ms-correlation-request-id": [ - "22156ac3-c2ef-4e8c-b81b-0318ed066904" + "9d5f87e2-c5f8-471f-8241-988b4c1b9888" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011707Z:22156ac3-c2ef-4e8c-b81b-0318ed066904" + "CENTRALUS:20170127T185803Z:9d5f87e2-c5f8-471f-8241-988b4c1b9888" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6853/providers/Microsoft.Web/serverfarms/csmwhp4396?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjg1My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA0Mzk2P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1990/providers/Microsoft.Web/serverfarms/csmwhp2628?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTk5MC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHAyNjI4P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "d79cf109-c113-42ad-862a-f28026da7e19" + "1e13b527-603d-48f3-a79b-fb01ee794570" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -948,7 +912,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:17:07 GMT" + "Fri, 27 Jan 2017 18:58:03 GMT" ], "Pragma": [ "no-cache" @@ -960,7 +924,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "514716d8-fb13-4b20-9100-b3cdf56f7bff" + "cdca2499-222b-4006-99bf-b08a2ebd8d50" ], "X-AspNet-Version": [ "4.0.30319" @@ -969,13 +933,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1193" + "1191" ], "x-ms-correlation-request-id": [ - "d8a527cc-4643-4339-837a-66aa2763f222" + "1b23c19e-b087-4ad2-bbfd-02409657d7d5" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T011707Z:d8a527cc-4643-4339-837a-66aa2763f222" + "CENTRALUS:20170127T185804Z:1b23c19e-b087-4ad2-bbfd-02409657d7d5" ] }, "StatusCode": 200 @@ -983,9 +947,9 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws9510", - "csmrg6853", - "csmwhp4396" + "csmws4063", + "csmrg1990", + "csmwhp2628" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSiteLimits.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSiteLimits.json index 9bf9478fc3e2..3230253e5766 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSiteLimits.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSiteLimits.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "d9cd3c4c-8e46-4fd8-8017-eb008118b752" + "d0c54df9-43f3-4d0b-915f-1e117282f3aa" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:52 GMT" + "Fri, 27 Jan 2017 18:58:23 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14777" + "14901" ], "x-ms-request-id": [ - "fb2b4bdd-2b84-4a55-ab7c-0da4d8696378" + "83007a8a-ab61-4140-b45b-5ff3ef5a888f" ], "x-ms-correlation-request-id": [ - "fb2b4bdd-2b84-4a55-ab7c-0da4d8696378" + "83007a8a-ab61-4140-b45b-5ff3ef5a888f" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010853Z:fb2b4bdd-2b84-4a55-ab7c-0da4d8696378" + "CENTRALUS:20170127T185823Z:83007a8a-ab61-4140-b45b-5ff3ef5a888f" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg4889?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNDg4OT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg4275?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNDI3NT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "52e62b97-5f8f-4472-b06a-cb57464cba02" + "b723c001-7de4-4ad2-bea3-a7d6bf3da5b3" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889\",\r\n \"name\": \"csmrg4889\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275\",\r\n \"name\": \"csmrg4275\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,22 +93,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:53 GMT" + "Fri, 27 Jan 2017 18:58:24 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" + "1198" ], "x-ms-request-id": [ - "408b6670-4e06-4e19-96bb-e7818212124e" + "48c1dc6a-8f11-4ce8-b6d2-adbcd4fa2546" ], "x-ms-correlation-request-id": [ - "408b6670-4e06-4e19-96bb-e7818212124e" + "48c1dc6a-8f11-4ce8-b6d2-adbcd4fa2546" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010854Z:408b6670-4e06-4e19-96bb-e7818212124e" + "CENTRALUS:20170127T185824Z:48c1dc6a-8f11-4ce8-b6d2-adbcd4fa2546" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/serverfarms/cswhp7063?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDg4OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc3docDcwNjM/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/serverfarms/cswhp7919?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDI3NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc3docDc5MTk/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"cswhp7063\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"cswhp7919\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "141" ], "x-ms-client-request-id": [ - "ab6080d3-4d84-4d4c-95b3-d9866384d476" + "6ee7ae1f-e822-4bba-9b36-82759d3639e4" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/serverfarms/cswhp7063\",\r\n \"name\": \"cswhp7063\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"cswhp7063\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg4889-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg4889\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-047_7169\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/serverfarms/cswhp7919\",\r\n \"name\": \"cswhp7919\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"cswhp7919\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg4275-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg4275\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1228\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:08:57 GMT" + "Fri, 27 Jan 2017 18:58:29 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "1e79b58f-08ed-4a03-82e2-7d780dc1b85e" + "553492b9-293d-408d-8f3d-84b2af487ac2" ], "X-AspNet-Version": [ "4.0.30319" @@ -184,19 +181,19 @@ "1199" ], "x-ms-correlation-request-id": [ - "93bf43ac-cc44-477d-ad79-d0102b222c60" + "b108f3a0-c419-48cf-816a-adae6e7f00c0" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010857Z:93bf43ac-cc44-477d-ad79-d0102b222c60" + "CENTRALUS:20170127T185829Z:b108f3a0-c419-48cf-816a-adae6e7f00c0" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/sites/csmws7120?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDg4OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czcxMjA/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/sites/csmws5961?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDI3NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU5NjE/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg4889/providers/Microsoft.Web/serverfarms/cswhp7063\"\r\n },\r\n \"name\": \"csmws7120\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg4275/providers/Microsoft.Web/serverfarms/cswhp7919\"\r\n },\r\n \"name\": \"csmws5961\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -205,20 +202,17 @@ "233" ], "x-ms-client-request-id": [ - "7f7d6427-bae2-4844-9ec9-6ec201733198" + "5489bbae-bc64-46ef-9aef-c03f7a82d115" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/sites/csmws7120\",\r\n \"name\": \"csmws7120\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws7120\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws7120.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg4889-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-047.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg4889-SouthCentralUSwebspace/sites/csmws7120\",\r\n \"repositorySiteName\": \"csmws7120\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws7120.azurewebsites.net\",\r\n \"csmws7120.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws7120.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws7120.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/serverfarms/cswhp7063\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:09:01\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws7120\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"40.84.197.51,40.84.199.153,40.84.195.30,40.84.195.47\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-047\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg4889\",\r\n \"defaultHostName\": \"csmws7120.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/sites/csmws5961\",\r\n \"name\": \"csmws5961\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws5961\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws5961.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg4275-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-077.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg4275-SouthCentralUSwebspace/sites/csmws5961\",\r\n \"repositorySiteName\": \"csmws5961\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws5961.azurewebsites.net\",\r\n \"csmws5961.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws5961.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws5961.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/serverfarms/cswhp7919\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T18:58:31.9866667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws5961\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"13.84.36.2,13.84.37.101,13.84.37.200,13.84.32.172,13.84.39.187\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-077\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg4275\",\r\n \"defaultHostName\": \"csmws5961.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:09 GMT" + "Fri, 27 Jan 2017 18:58:33 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "dfd8fe6e-74ea-4396-83bb-26d24e81b992" + "9a3913d4-7a56-4ca4-aebd-0802a5a898d8" ], "X-AspNet-Version": [ "4.0.30319" @@ -260,17 +254,17 @@ "1198" ], "x-ms-correlation-request-id": [ - "bce651f1-ab3e-4b18-9975-0638fb475592" + "02e386df-43aa-41a0-b65f-ebcdcec78e77" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010909Z:bce651f1-ab3e-4b18-9975-0638fb475592" + "CENTRALUS:20170127T185833Z:02e386df-43aa-41a0-b65f-ebcdcec78e77" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/sites/csmws7120/config/web?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDg4OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czcxMjAvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/sites/csmws5961/config/web?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDI3NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU5NjEvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "PATCH", "RequestBody": "{\r\n \"properties\": {\r\n \"limits\": {\r\n \"maxPercentageCpu\": 70.5,\r\n \"maxMemoryInMb\": 1024,\r\n \"maxDiskSizeInMb\": 512\r\n }\r\n },\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -281,20 +275,17 @@ "180" ], "x-ms-client-request-id": [ - "f6a1500d-bbbb-4732-90f7-602d76ce4813" + "dc5eed30-2385-49b0-ab76-436b54a5ca3f" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/sites/csmws7120\",\r\n \"name\": \"csmws7120\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws7120\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": 0,\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": 1,\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": {\r\n \"maxPercentageCpu\": 70.5,\r\n \"maxMemoryInMb\": 1024,\r\n \"maxDiskSizeInMb\": 512\r\n },\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/sites/csmws5961\",\r\n \"name\": \"csmws5961\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws5961\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": \"Integrated\",\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": \"LeastRequests\",\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": {\r\n \"maxPercentageCpu\": 70.5,\r\n \"maxMemoryInMb\": 1024,\r\n \"maxDiskSizeInMb\": 512\r\n },\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -306,7 +297,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:10 GMT" + "Fri, 27 Jan 2017 18:58:34 GMT" ], "Pragma": [ "no-cache" @@ -324,7 +315,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "41fa11be-32cb-4f12-9ad0-88bbc9ce946b" + "7305eb30-3f84-4dc1-b033-303b5b99ff71" ], "X-AspNet-Version": [ "4.0.30319" @@ -336,35 +327,32 @@ "1197" ], "x-ms-correlation-request-id": [ - "2aef7bc5-2ebc-48da-987c-72cdacb3faaa" + "369bb6f6-3ab3-4b3e-94fc-0725c1cd9b24" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010910Z:2aef7bc5-2ebc-48da-987c-72cdacb3faaa" + "CENTRALUS:20170127T185834Z:369bb6f6-3ab3-4b3e-94fc-0725c1cd9b24" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/sites/csmws7120/config/web?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDg4OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czcxMjAvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/sites/csmws5961/config/web?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDI3NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU5NjEvY29uZmlnL3dlYj9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "f74c44a8-67be-476b-9fb0-444de09e0c02" + "aa36c87e-8e8b-427c-b01e-b9381e5a840a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/sites/csmws7120/config/web\",\r\n \"name\": \"csmws7120\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws7120\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": 0,\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": 1,\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": {\r\n \"maxPercentageCpu\": 70.5,\r\n \"maxMemoryInMb\": 1024,\r\n \"maxDiskSizeInMb\": 512\r\n },\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/sites/csmws5961/config/web\",\r\n \"name\": \"csmws5961\",\r\n \"type\": \"Microsoft.Web/sites/config\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"numberOfWorkers\": 1,\r\n \"defaultDocuments\": [\r\n \"Default.htm\",\r\n \"Default.html\",\r\n \"Default.asp\",\r\n \"index.htm\",\r\n \"index.html\",\r\n \"iisstart.htm\",\r\n \"default.aspx\",\r\n \"index.php\",\r\n \"hostingstart.html\"\r\n ],\r\n \"netFrameworkVersion\": \"v4.0\",\r\n \"phpVersion\": \"5.6\",\r\n \"pythonVersion\": \"\",\r\n \"nodeVersion\": \"\",\r\n \"requestTracingEnabled\": false,\r\n \"remoteDebuggingEnabled\": false,\r\n \"remoteDebuggingVersion\": null,\r\n \"httpLoggingEnabled\": false,\r\n \"logsDirectorySizeLimit\": 35,\r\n \"detailedErrorLoggingEnabled\": false,\r\n \"publishingUsername\": \"$csmws5961\",\r\n \"publishingPassword\": null,\r\n \"appSettings\": null,\r\n \"metadata\": null,\r\n \"connectionStrings\": null,\r\n \"machineKey\": null,\r\n \"handlerMappings\": null,\r\n \"documentRoot\": null,\r\n \"scmType\": \"None\",\r\n \"use32BitWorkerProcess\": true,\r\n \"webSocketsEnabled\": false,\r\n \"alwaysOn\": false,\r\n \"javaVersion\": null,\r\n \"javaContainer\": null,\r\n \"javaContainerVersion\": null,\r\n \"appCommandLine\": \"\",\r\n \"managedPipelineMode\": \"Integrated\",\r\n \"virtualApplications\": [\r\n {\r\n \"virtualPath\": \"/\",\r\n \"physicalPath\": \"site\\\\wwwroot\",\r\n \"preloadEnabled\": false,\r\n \"virtualDirectories\": null\r\n }\r\n ],\r\n \"winAuthAdminState\": 0,\r\n \"winAuthTenantState\": 0,\r\n \"customAppPoolIdentityAdminState\": false,\r\n \"customAppPoolIdentityTenantState\": false,\r\n \"runtimeADUser\": null,\r\n \"runtimeADUserPassword\": null,\r\n \"loadBalancing\": \"LeastRequests\",\r\n \"routingRules\": [],\r\n \"experiments\": {\r\n \"rampUpRules\": []\r\n },\r\n \"limits\": {\r\n \"maxPercentageCpu\": 70.5,\r\n \"maxMemoryInMb\": 1024,\r\n \"maxDiskSizeInMb\": 512\r\n },\r\n \"autoHealEnabled\": false,\r\n \"autoHealRules\": {\r\n \"triggers\": null,\r\n \"actions\": null\r\n },\r\n \"tracingOptions\": null,\r\n \"vnetName\": \"\",\r\n \"siteAuthEnabled\": false,\r\n \"siteAuthSettings\": {\r\n \"enabled\": null,\r\n \"httpApiPrefixPath\": null,\r\n \"unauthenticatedClientAction\": null,\r\n \"tokenStoreEnabled\": null,\r\n \"allowedExternalRedirectUrls\": null,\r\n \"defaultProvider\": null,\r\n \"clientId\": null,\r\n \"clientSecret\": null,\r\n \"issuer\": null,\r\n \"allowedAudiences\": null,\r\n \"additionalLoginParams\": null,\r\n \"isAadAutoProvisioned\": false,\r\n \"googleClientId\": null,\r\n \"googleClientSecret\": null,\r\n \"googleOAuthScopes\": null,\r\n \"facebookAppId\": null,\r\n \"facebookAppSecret\": null,\r\n \"facebookOAuthScopes\": null,\r\n \"twitterConsumerKey\": null,\r\n \"twitterConsumerSecret\": null,\r\n \"microsoftAccountClientId\": null,\r\n \"microsoftAccountClientSecret\": null,\r\n \"microsoftAccountOAuthScopes\": null\r\n },\r\n \"cors\": null,\r\n \"push\": null,\r\n \"apiDefinition\": null,\r\n \"autoSwapSlotName\": null,\r\n \"localMySqlEnabled\": false,\r\n \"ipSecurityRestrictions\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -376,7 +364,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:10 GMT" + "Fri, 27 Jan 2017 18:58:34 GMT" ], "Pragma": [ "no-cache" @@ -394,7 +382,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "10d949e5-7938-44e8-b9e1-8dc10440f0a3" + "d7d61f2b-2963-4c12-97f6-ddb6f7a12a27" ], "X-AspNet-Version": [ "4.0.30319" @@ -403,35 +391,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14872" + "14894" ], "x-ms-correlation-request-id": [ - "fd222bab-46c2-4ba8-9042-1d91e8d5156b" + "38df3383-2846-4c87-b39a-d5867f62794e" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010911Z:fd222bab-46c2-4ba8-9042-1d91e8d5156b" + "CENTRALUS:20170127T185834Z:38df3383-2846-4c87-b39a-d5867f62794e" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/sites/csmws7120?deleteMetrics=true&api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDg4OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czcxMjA/ZGVsZXRlTWV0cmljcz10cnVlJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/sites/csmws5961?deleteMetrics=true&api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDI3NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czU5NjE/ZGVsZXRlTWV0cmljcz10cnVlJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "55f3c2dd-face-4f96-b798-3b8ec91ce977" + "f9ca0e98-38cd-4bfe-a62d-55a3ec351966" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -446,13 +431,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:13 GMT" + "Fri, 27 Jan 2017 18:58:36 GMT" ], "Pragma": [ "no-cache" ], "ETag": [ - "\"1D22F258FCA632B\"" + "\"1D278CF5B762B00\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -461,7 +446,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "6baf7a73-4487-408a-b8eb-d5485ab92770" + "e0410368-a1df-49ab-bb84-16b5a1798e53" ], "X-AspNet-Version": [ "4.0.30319" @@ -473,32 +458,29 @@ "1196" ], "x-ms-correlation-request-id": [ - "be4639fa-98a6-4b45-9e7a-70dfee5b0333" + "8a38fc26-70eb-4722-948f-30449439ec5d" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010914Z:be4639fa-98a6-4b45-9e7a-70dfee5b0333" + "CENTRALUS:20170127T185836Z:8a38fc26-70eb-4722-948f-30449439ec5d" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4889/providers/Microsoft.Web/serverfarms/cswhp7063?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDg4OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc3docDcwNjM/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg4275/providers/Microsoft.Web/serverfarms/cswhp7919?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNDI3NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc3docDc5MTk/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "6f28cd90-87f1-4375-b03c-cb98e3543072" + "23133b08-b200-486b-8456-8e6bfecc44b2" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -513,7 +495,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:09:14 GMT" + "Fri, 27 Jan 2017 18:58:37 GMT" ], "Pragma": [ "no-cache" @@ -525,7 +507,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "12db01bf-8336-43c0-8777-f6d783b721ea" + "9ee0d871-4706-4f80-ba08-14b7b40a78a5" ], "X-AspNet-Version": [ "4.0.30319" @@ -537,10 +519,10 @@ "1195" ], "x-ms-correlation-request-id": [ - "7b9b1669-7557-42af-ae2d-ef8b50bc3669" + "f3cfeb96-ba0d-4b6e-acc8-68f324d50359" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T010915Z:7b9b1669-7557-42af-ae2d-ef8b50bc3669" + "CENTRALUS:20170127T185837Z:f3cfeb96-ba0d-4b6e-acc8-68f324d50359" ] }, "StatusCode": 200 @@ -548,9 +530,9 @@ ], "Names": { "GetAndSetSiteLimits": [ - "cswhp7063", - "csmrg4889", - "csmws7120" + "cswhp7919", + "csmrg4275", + "csmws5961" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSlotSettingsConfigs.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSlotSettingsConfigs.json index 27a113da10b9..673f94c8d396 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSlotSettingsConfigs.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetAndSetSlotSettingsConfigs.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "ff956ebd-dd71-4600-ad9d-8f70ecc5f176" + "4262e071-41ee-40f8-ba2b-ed3b2c4ee43d" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:35 GMT" + "Fri, 27 Jan 2017 19:03:16 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14883" + "14864" ], "x-ms-request-id": [ - "bac0c01a-4e2b-46f9-b40a-fabb82d8b662" + "829392e2-7dfa-4b9b-b7f6-2ae702007d35" ], "x-ms-correlation-request-id": [ - "bac0c01a-4e2b-46f9-b40a-fabb82d8b662" + "829392e2-7dfa-4b9b-b7f6-2ae702007d35" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012335Z:bac0c01a-4e2b-46f9-b40a-fabb82d8b662" + "CENTRALUS:20170127T190316Z:829392e2-7dfa-4b9b-b7f6-2ae702007d35" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg5196?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNTE5Nj9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg5379?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNTM3OT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "55b41240-e681-4d10-8a1a-cf8dd90912dd" + "eb019a57-b66d-4bf8-963d-cc3bbce228e1" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196\",\r\n \"name\": \"csmrg5196\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379\",\r\n \"name\": \"csmrg5379\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,22 +93,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:36 GMT" + "Fri, 27 Jan 2017 19:03:16 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1194" + "1197" ], "x-ms-request-id": [ - "23ee3e45-1d50-483c-818e-6cbbac07a866" + "cfdb7c4a-c2e6-4799-a49e-360f71b5fa8a" ], "x-ms-correlation-request-id": [ - "23ee3e45-1d50-483c-818e-6cbbac07a866" + "cfdb7c4a-c2e6-4799-a49e-360f71b5fa8a" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012336Z:23ee3e45-1d50-483c-818e-6cbbac07a866" + "CENTRALUS:20170127T190316Z:cfdb7c4a-c2e6-4799-a49e-360f71b5fa8a" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/serverfarms/csmwhp2309?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTE5Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHAyMzA5P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/serverfarms/csmwhp8904?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTM3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA4OTA0P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp2309\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp8904\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "122" ], "x-ms-client-request-id": [ - "f926a49e-9885-45df-b1de-8a80448375a1" + "a4f66414-7df7-45e9-8db1-ad8a026b186b" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/serverfarms/csmwhp2309\",\r\n \"name\": \"csmwhp2309\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp2309\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg5196-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg5196\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-059_6076\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/serverfarms/csmwhp8904\",\r\n \"name\": \"csmwhp8904\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp8904\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg5379-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg5379\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-083_3677\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:40 GMT" + "Fri, 27 Jan 2017 19:03:19 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "96eb662a-cbf0-4de4-b653-f4704d7adb31" + "e45184dc-940f-4d1c-8bde-dda609eff4b6" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,44 +178,41 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1194" + "1198" ], "x-ms-correlation-request-id": [ - "1981c288-675b-4833-a4f8-7f34ce4dbb13" + "b9aee330-870a-416e-804b-13fc0783f483" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012340Z:1981c288-675b-4833-a4f8-7f34ce4dbb13" + "CENTRALUS:20170127T190320Z:b9aee330-870a-416e-804b-13fc0783f483" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/sites/csmws968?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTE5Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk2OD9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/sites/csmws8992?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTM3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czg5OTI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/serverfarms/csmwhp2309\"\r\n },\r\n \"name\": \"csmws968\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/serverfarms/csmwhp8904\"\r\n },\r\n \"name\": \"csmws8992\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "291" + "292" ], "x-ms-client-request-id": [ - "1f4729b5-2fe2-4a3e-8bcd-d88cecf7aadd" + "333d500c-636e-4b53-ba37-1f3dd6c743fe" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/sites/csmws968\",\r\n \"name\": \"csmws968\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws968\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws968.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg5196-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-059.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg5196-SouthCentralUSwebspace/sites/csmws968\",\r\n \"repositorySiteName\": \"csmws968\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws968.azurewebsites.net\",\r\n \"csmws968.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws968.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws968.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/serverfarms/csmwhp2309\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:23:42.28\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws968\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"40.124.12.75,13.65.98.160,13.65.37.54,13.85.79.179,13.85.78.254\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-059\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg5196\",\r\n \"defaultHostName\": \"csmws968.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/sites/csmws8992\",\r\n \"name\": \"csmws8992\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws8992\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws8992.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg5379-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg5379-SouthCentralUSwebspace/sites/csmws8992\",\r\n \"repositorySiteName\": \"csmws8992\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws8992.azurewebsites.net\",\r\n \"csmws8992.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws8992.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws8992.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/serverfarms/csmwhp8904\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:03:22.1033333\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws8992\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg5379\",\r\n \"defaultHostName\": \"csmws8992.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:43 GMT" + "Fri, 27 Jan 2017 19:03:22 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "780bf5f4-7e1f-4b2d-8735-58fd42048ef1" + "7c7de5a8-9cb1-4046-9984-7feab4db656e" ], "X-AspNet-Version": [ "4.0.30319" @@ -257,20 +251,20 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1193" + "1197" ], "x-ms-correlation-request-id": [ - "905bcc8a-1643-40f7-a382-5844c13f82f4" + "d05b1a3b-1ff7-48fa-a9ca-2a0efcaa3e7b" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012343Z:905bcc8a-1643-40f7-a382-5844c13f82f4" + "CENTRALUS:20170127T190323Z:d05b1a3b-1ff7-48fa-a9ca-2a0efcaa3e7b" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/sites/csmws968/config/slotConfigNames?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTE5Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk2OC9jb25maWcvc2xvdENvbmZpZ05hbWVzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/sites/csmws8992/config/slotConfigNames?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTM3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czg5OTIvY29uZmlnL3Nsb3RDb25maWdOYW1lcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"properties\": {\r\n \"connectionStringNames\": [\r\n \"ConnString1\",\r\n \"ConnString2\"\r\n ],\r\n \"appSettingNames\": [\r\n \"AppSetting1\",\r\n \"AppSetting2\"\r\n ]\r\n },\r\n \"name\": \"SlotConfig1\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -281,20 +275,17 @@ "248" ], "x-ms-client-request-id": [ - "6c333608-c215-4f55-abd5-7c981173cd17" + "ac5b0184-62df-4e26-bd83-2e6c0ea1ded9" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": \"csmws968\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"connectionStringNames\": [\r\n \"ConnString1\",\r\n \"ConnString2\"\r\n ],\r\n \"appSettingNames\": [\r\n \"AppSetting1\",\r\n \"AppSetting2\"\r\n ]\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": \"csmws8992\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"connectionStringNames\": [\r\n \"ConnString1\",\r\n \"ConnString2\"\r\n ],\r\n \"appSettingNames\": [\r\n \"AppSetting1\",\r\n \"AppSetting2\"\r\n ]\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -306,7 +297,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:43 GMT" + "Fri, 27 Jan 2017 19:03:23 GMT" ], "Pragma": [ "no-cache" @@ -324,7 +315,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "2d4f440f-6ef1-4880-81de-d050dc82d4b9" + "5db5494e-165f-4576-920d-7fc73194bbed" ], "X-AspNet-Version": [ "4.0.30319" @@ -333,38 +324,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1192" + "1196" ], "x-ms-correlation-request-id": [ - "95a00c34-801c-4040-a33d-9ba525a19697" + "6e474036-f673-4172-9383-6dd77c85a0f2" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012344Z:95a00c34-801c-4040-a33d-9ba525a19697" + "CENTRALUS:20170127T190324Z:6e474036-f673-4172-9383-6dd77c85a0f2" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/sites/csmws968/config/slotConfigNames?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTE5Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk2OC9jb25maWcvc2xvdENvbmZpZ05hbWVzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/sites/csmws8992/config/slotConfigNames?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTM3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czg5OTIvY29uZmlnL3Nsb3RDb25maWdOYW1lcz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "47d300f0-5da1-475d-9ebd-7e5396db43ed" + "b342a724-09bb-4965-a24f-4f717239624c" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": \"csmws968\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"connectionStringNames\": [\r\n \"ConnString1\",\r\n \"ConnString2\"\r\n ],\r\n \"appSettingNames\": [\r\n \"AppSetting1\",\r\n \"AppSetting2\"\r\n ]\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": \"csmws8992\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"connectionStringNames\": [\r\n \"ConnString1\",\r\n \"ConnString2\"\r\n ],\r\n \"appSettingNames\": [\r\n \"AppSetting1\",\r\n \"AppSetting2\"\r\n ]\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -376,7 +364,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:44 GMT" + "Fri, 27 Jan 2017 19:03:23 GMT" ], "Pragma": [ "no-cache" @@ -394,7 +382,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "1cec6ce9-17e3-4de3-9ae8-765cd86fae38" + "a5c5c117-c4aa-4d08-b6f4-2a81cd734147" ], "X-AspNet-Version": [ "4.0.30319" @@ -403,35 +391,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14887" + "14862" ], "x-ms-correlation-request-id": [ - "d063969e-af9d-4cb2-951f-ad3daea28cc8" + "06a54b91-5cb8-4f98-ad4d-22ac7818b226" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012344Z:d063969e-af9d-4cb2-951f-ad3daea28cc8" + "CENTRALUS:20170127T190324Z:06a54b91-5cb8-4f98-ad4d-22ac7818b226" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/sites/csmws968?deleteMetrics=true&api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTE5Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czk2OD9kZWxldGVNZXRyaWNzPXRydWUmYXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/sites/csmws8992?deleteMetrics=true&api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTM3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czg5OTI/ZGVsZXRlTWV0cmljcz10cnVlJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "54eea74c-ba9b-472e-a891-27432d7291c1" + "8b957135-fa1b-4d8d-9617-833a74e93e6a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -446,13 +431,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:47 GMT" + "Fri, 27 Jan 2017 19:03:25 GMT" ], "Pragma": [ "no-cache" ], "ETag": [ - "\"1D22F2796955C8B\"" + "\"1D278D0077F9C60\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -461,7 +446,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "a6be8769-71f2-403e-baa1-b491464777b8" + "d032e4be-cc02-429c-b5bc-95e1156127fc" ], "X-AspNet-Version": [ "4.0.30319" @@ -470,35 +455,32 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1191" + "1195" ], "x-ms-correlation-request-id": [ - "e2316a2b-bd13-4933-adee-6578af958cb5" + "195b4953-fe6e-4d4d-b443-b6d5cd83f693" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012347Z:e2316a2b-bd13-4933-adee-6578af958cb5" + "CENTRALUS:20170127T190326Z:195b4953-fe6e-4d4d-b443-b6d5cd83f693" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5196/providers/Microsoft.Web/serverfarms/csmwhp2309?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTE5Ni9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHAyMzA5P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg5379/providers/Microsoft.Web/serverfarms/csmwhp8904?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNTM3OS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA4OTA0P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0dd7e5da-f572-4783-9f27-0368363bc746" + "d0082b4c-66b6-46a0-bd29-9f2962a27c38" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -513,7 +495,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:23:47 GMT" + "Fri, 27 Jan 2017 19:03:26 GMT" ], "Pragma": [ "no-cache" @@ -525,7 +507,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "386ad4e8-4c5c-497b-a2cd-42d57f9b7a65" + "adcd1e9b-18ec-46e6-b813-fb153d6c52b6" ], "X-AspNet-Version": [ "4.0.30319" @@ -534,13 +516,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1190" + "1194" ], "x-ms-correlation-request-id": [ - "2afa0db7-4f24-46ec-a5b7-cd1969f4da86" + "4670d767-f469-40ce-a435-8b678272524d" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012347Z:2afa0db7-4f24-46ec-a5b7-cd1969f4da86" + "CENTRALUS:20170127T190326Z:4670d767-f469-40ce-a435-8b678272524d" ] }, "StatusCode": 200 @@ -548,9 +530,9 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws968", - "csmrg5196", - "csmwhp2309" + "csmws8992", + "csmrg5379", + "csmwhp8904" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetSiteMetrics.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetSiteMetrics.json index 8a422b50946f..b4f711f82aa1 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetSiteMetrics.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteScenarioTests/GetSiteMetrics.json @@ -1,21 +1,23 @@ { "Entries": [ { - "RequestUri": "/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/providers/Microsoft.Web?api-version=2015-11-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Byb3ZpZGVycy9NaWNyb3NvZnQuV2ViP2FwaS12ZXJzaW9uPTIwMTUtMTEtMDE=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "70f2aba5-5cfd-46d5-bc2a-551d9b4309fb" + "f29a3517-885b-41be-9762-36a7f903b6a7" ], "accept-language": [ "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.Resources.ResourceManagementClient/3.0.0.0" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01-alpha\",\r\n \"2015-08-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01-alpha\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-02\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-06-01-privatepreview\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-02\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01-alpha\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-02\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"webquotas\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premierAddOns\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2015-08-01-privatepreview\",\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\"\r\n ],\r\n \"apiVersions\": [\r\n \"2015-08-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01-privatepreview\",\r\n \"2015-04-01\",\r\n \"2015-02-01-privatepreview\",\r\n \"2015-02-01\",\r\n \"2014-11-01-privatepreview\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-privatepreview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -27,7 +29,7 @@ "no-cache" ], "Date": [ - "Fri, 11 Dec 2015 01:56:48 GMT" + "Sat, 28 Jan 2017 00:22:51 GMT" ], "Pragma": [ "no-cache" @@ -36,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14737" + "14805" ], "x-ms-request-id": [ - "5443aa08-fc52-47d7-95f7-b1c051e81759" + "4a52ae53-665c-45e2-a146-ca3f62b8f476" ], "x-ms-correlation-request-id": [ - "5443aa08-fc52-47d7-95f7-b1c051e81759" + "4a52ae53-665c-45e2-a146-ca3f62b8f476" ], "x-ms-routing-request-id": [ - "CENTRALUS:20151211T015649Z:5443aa08-fc52-47d7-95f7-b1c051e81759" + "WESTUS2:20170128T002251Z:4a52ae53-665c-45e2-a146-ca3f62b8f476" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -54,30 +56,32 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourcegroups/csmrg6946?api-version=2015-11-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3529?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMzUyOT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"location\": \"West US\"\r\n}", + "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "29" + "38" ], "x-ms-client-request-id": [ - "fa7cb280-0644-4c86-8c75-5d9f6e0bdacf" + "7b038e71-e40f-4303-bc11-8b120c04dc87" ], "accept-language": [ "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.Resources.ResourceManagementClient/3.0.0.0" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946\",\r\n \"name\": \"csmrg6946\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529\",\r\n \"name\": \"csmrg3529\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ - "171" + "179" ], "Content-Type": [ "application/json; charset=utf-8" @@ -89,22 +93,22 @@ "no-cache" ], "Date": [ - "Fri, 11 Dec 2015 01:56:49 GMT" + "Sat, 28 Jan 2017 00:22:52 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "934" + "1199" ], "x-ms-request-id": [ - "04758f96-3674-4178-8d4a-feef6b973f9e" + "f1a5b8f4-d397-424a-99ee-6d29208b7afb" ], "x-ms-correlation-request-id": [ - "04758f96-3674-4178-8d4a-feef6b973f9e" + "f1a5b8f4-d397-424a-99ee-6d29208b7afb" ], "x-ms-routing-request-id": [ - "CENTRALUS:20151211T015649Z:04758f96-3674-4178-8d4a-feef6b973f9e" + "WESTUS2:20170128T002252Z:f1a5b8f4-d397-424a-99ee-6d29208b7afb" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -113,30 +117,32 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/serverfarms/csmwhp8182?api-version=2015-08-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/serverfarms/csmwhp4254?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzUyOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA0MjU0P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"location\": \"West US\",\r\n \"properties\": {\r\n \"name\": \"csmwhp8182\"\r\n }\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\"\r\n },\r\n \"name\": \"csmwhp4254\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "139" + "122" ], "x-ms-client-request-id": [ - "b12e35c5-f1e3-44c5-a194-b870bbb4249f" + "14c8a796-649e-4402-8297-86f3edc92b82" ], "accept-language": [ "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.0.0.1" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ], "Accept": [ "application/json" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/serverfarms/csmwhp8182\",\r\n \"name\": \"csmwhp8182\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"West US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp8182\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg6946-WestUSwebspace\",\r\n \"subscription\": \"3312c132-fc40-493f-9c97-82d80256a313\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"West US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg6946\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/serverfarms/csmwhp4254\",\r\n \"name\": \"csmwhp4254\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp4254\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 0,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 0,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg3529-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 1,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg3529\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1266\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"D1\",\r\n \"tier\": \"Shared\",\r\n \"size\": \"D1\",\r\n \"family\": \"D\",\r\n \"capacity\": 0\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -148,7 +154,7 @@ "no-cache" ], "Date": [ - "Fri, 11 Dec 2015 01:56:54 GMT" + "Sat, 28 Jan 2017 00:22:57 GMT" ], "Pragma": [ "no-cache" @@ -166,7 +172,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "42b085f4-c5b2-432a-8da4-5da4bb554ddd" + "3de53223-3188-403f-85dc-f957d7576763" ], "X-AspNet-Version": [ "4.0.30319" @@ -175,42 +181,44 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1096" + "1199" ], "x-ms-correlation-request-id": [ - "5dbd2d13-7de7-4061-9c1d-393354a65b38" + "110d45cc-56ce-45ea-9f76-37139e06111d" ], "x-ms-routing-request-id": [ - "CENTRALUS:20151211T015654Z:5dbd2d13-7de7-4061-9c1d-393354a65b38" + "WESTUS2:20170128T002258Z:110d45cc-56ce-45ea-9f76-37139e06111d" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/sites/csmws4003?api-version=2015-08-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzUyOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czUyNTg/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"location\": \"West US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws4003\",\r\n \"serverFarmId\": \"/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/serverfarms/csmwhp8182\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/serverfarms/csmwhp4254\"\r\n },\r\n \"name\": \"csmws5258\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "285" + "292" ], "x-ms-client-request-id": [ - "770c645a-f005-4c12-ad26-3aa2e6f0e4d1" + "4406b1a5-5cdb-45b1-ac04-22b5eabf0ee5" ], "accept-language": [ "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.0.0.1" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ], "Accept": [ "application/json" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/sites/csmws4003\",\r\n \"name\": \"csmws4003\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"West US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws4003\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws4003.waws-ppedf.windows-int.net\"\r\n ],\r\n \"webSpace\": \"csmrg6946-WestUSwebspace\",\r\n \"selfLink\": \"https://waws-ppedf-bay-001.api.admin-waws-ppedf.windows-int.net:454/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/webspaces/csmrg6946-WestUSwebspace/sites/csmws4003\",\r\n \"repositorySiteName\": \"csmws4003\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws4003.scm.waws-ppedf.windows-int.net\",\r\n \"csmws4003.waws-ppedf.windows-int.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws4003.scm.waws-ppedf.windows-int.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n },\r\n {\r\n \"name\": \"csmws4003.waws-ppedf.windows-int.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/serverfarms/csmwhp8182\",\r\n \"lastModifiedTimeUtc\": \"2015-12-11T01:56:57.45\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws4003\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.40.21.237,104.40.20.76,104.40.19.34,104.40.22.12\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258\",\r\n \"name\": \"csmws5258\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws5258\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws5258.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3529-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-077.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3529-SouthCentralUSwebspace/sites/csmws5258\",\r\n \"repositorySiteName\": \"csmws5258\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws5258.azurewebsites.net\",\r\n \"csmws5258.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws5258.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws5258.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/serverfarms/csmwhp4254\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-28T00:23:00.6866667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws5258\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Shared\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"13.84.36.2,13.84.37.101,13.84.37.200,13.84.32.172,13.84.39.187\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-077\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg3529\",\r\n \"defaultHostName\": \"csmws5258.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -222,7 +230,7 @@ "no-cache" ], "Date": [ - "Fri, 11 Dec 2015 01:56:58 GMT" + "Sat, 28 Jan 2017 00:23:01 GMT" ], "Pragma": [ "no-cache" @@ -240,7 +248,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "81b8921e-f8c1-439d-bb1a-a7ae56c47424" + "b1531d95-98e0-448b-9aba-8885e0e27931" ], "X-AspNet-Version": [ "4.0.30319" @@ -249,36 +257,38 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1095" + "1198" ], "x-ms-correlation-request-id": [ - "66c3f609-4a78-4e63-bd50-16a99af0ec46" + "2074da5f-ac44-41ea-a3e3-e30886da8967" ], "x-ms-routing-request-id": [ - "CENTRALUS:20151211T015658Z:66c3f609-4a78-4e63-bd50-16a99af0ec46" + "WESTUS2:20170128T002302Z:2074da5f-ac44-41ea-a3e3-e30886da8967" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/sites/csmws4003/metrics?details=true&$filter=%28name.value%20eq%20%27CPU%27%20or%20name.value%20eq%20%27MemoryWorkingSet%27%20or%20name.value%20eq%20%27Requests%27%29%20and%20startTime%20eq%202015-10-04T16%3A49%3A31Z%20and%20endTime%20eq%202015-10-05T16%3A49%3A31Z%20and%20timeGrain%20eq%20duration%27PT1H%27&api-version=2015-08-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics?details=true&$filter=(name.value%20eq%20'CPU'%20or%20name.value%20eq%20'MemoryWorkingSet'%20or%20name.value%20eq%20'Requests')%20and%20startTime%20eq%202017-01-27T00:23:02Z%20and%20endTime%20eq%202017-01-28T00:23:02Z%20and%20timeGrain%20eq%20duration'PT1H'&api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzUyOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czUyNTgvbWV0cmljcz9kZXRhaWxzPXRydWUmJGZpbHRlcj0obmFtZS52YWx1ZSUyMGVxJTIwJ0NQVSclMjBvciUyMG5hbWUudmFsdWUlMjBlcSUyMCdNZW1vcnlXb3JraW5nU2V0JyUyMG9yJTIwbmFtZS52YWx1ZSUyMGVxJTIwJ1JlcXVlc3RzJyklMjBhbmQlMjBzdGFydFRpbWUlMjBlcSUyMDIwMTctMDEtMjdUMDA6MjM6MDJaJTIwYW5kJTIwZW5kVGltZSUyMGVxJTIwMjAxNy0wMS0yOFQwMDoyMzowMlolMjBhbmQlMjB0aW1lR3JhaW4lMjBlcSUyMGR1cmF0aW9uJ1BUMUgnJmFwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "7e49d974-ed9b-46f9-bf3c-9144b08918d6" + "66e27772-f7b9-4355-bc3f-35790a4b87b4" ], "accept-language": [ "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.0.0.1" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ], "Accept": [ "application/json" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/sites/csmws4003/metrics\",\r\n \"value\": [\r\n {\r\n \"name\": {\r\n \"value\": \"Requests\",\r\n \"localizedValue\": \"Requests\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2015-10-04T16:00:00Z\",\r\n \"endTime\": \"2015-10-05T16:49:31Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": []\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"Requests\",\r\n \"localizedValue\": \"Requests\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2015-10-04T16:00:00Z\",\r\n \"endTime\": \"2015-10-05T16:49:31Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": []\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"MemoryWorkingSet\",\r\n \"localizedValue\": \"Memory working set\"\r\n },\r\n \"unit\": \"Bytes\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2015-10-04T16:00:00Z\",\r\n \"endTime\": \"2015-10-05T16:49:31Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": []\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"MemoryWorkingSet\",\r\n \"localizedValue\": \"Memory working set\"\r\n },\r\n \"unit\": \"Bytes\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2015-10-04T16:00:00Z\",\r\n \"endTime\": \"2015-10-05T16:49:31Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": []\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"CPU\",\r\n \"localizedValue\": \"CPU\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2015-10-04T16:00:00Z\",\r\n \"endTime\": \"2015-10-05T16:49:31Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": []\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"CPU\",\r\n \"localizedValue\": \"CPU\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2015-10-04T16:00:00Z\",\r\n \"endTime\": \"2015-10-05T16:49:31Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": []\r\n }\r\n ]\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics\",\r\n \"value\": [\r\n {\r\n \"name\": {\r\n \"value\": \"Requests\",\r\n \"localizedValue\": \"Requests\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2017-01-27T00:00:00Z\",\r\n \"endTime\": \"2017-01-28T00:23:02Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": [],\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics/Requests\"\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"Requests\",\r\n \"localizedValue\": \"Requests\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2017-01-27T00:00:00Z\",\r\n \"endTime\": \"2017-01-28T00:23:02Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": [],\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics/Requests\"\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"MemoryWorkingSet\",\r\n \"localizedValue\": \"Memory working set\"\r\n },\r\n \"unit\": \"Bytes\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2017-01-27T00:00:00Z\",\r\n \"endTime\": \"2017-01-28T00:23:02Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": [],\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics/MemoryWorkingSet\"\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"MemoryWorkingSet\",\r\n \"localizedValue\": \"Memory working set\"\r\n },\r\n \"unit\": \"Bytes\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2017-01-27T00:00:00Z\",\r\n \"endTime\": \"2017-01-28T00:23:02Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": [],\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics/MemoryWorkingSet\"\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"CPU\",\r\n \"localizedValue\": \"CPU\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2017-01-27T00:00:00Z\",\r\n \"endTime\": \"2017-01-28T00:23:02Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": [],\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics/CPU\"\r\n },\r\n {\r\n \"name\": {\r\n \"value\": \"CPU\",\r\n \"localizedValue\": \"CPU\"\r\n },\r\n \"unit\": \"Count\",\r\n \"timeGrain\": \"PT1H\",\r\n \"startTime\": \"2017-01-27T00:00:00Z\",\r\n \"endTime\": \"2017-01-28T00:23:02Z\",\r\n \"metricValues\": [],\r\n \"resourceId\": null,\r\n \"properties\": [],\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258/metrics/CPU\"\r\n }\r\n ]\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -290,7 +300,7 @@ "no-cache" ], "Date": [ - "Fri, 11 Dec 2015 01:56:59 GMT" + "Sat, 28 Jan 2017 00:23:02 GMT" ], "Pragma": [ "no-cache" @@ -305,7 +315,7 @@ "Accept-Encoding" ], "x-ms-request-id": [ - "ae5d7c77-383b-4f63-98a3-363a281fb098" + "31a09dcd-0b4f-412c-aec1-c2d08e6b4727" ], "X-AspNet-Version": [ "4.0.30319" @@ -314,13 +324,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14886" + "14796" ], "x-ms-correlation-request-id": [ - "b216d7b7-70b1-477b-af36-955d6942909a" + "aa6aac89-ae28-4f4b-9211-a8f248672545" ], "x-ms-routing-request-id": [ - "CENTRALUS:20151211T015700Z:b216d7b7-70b1-477b-af36-955d6942909a" + "WESTUS2:20170128T002302Z:aa6aac89-ae28-4f4b-9211-a8f248672545" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -329,18 +339,20 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/3312c132-fc40-493f-9c97-82d80256a313/resourceGroups/csmrg6946/providers/Microsoft.Web/sites/csmws4003?deleteAllSlots=True&api-version=2015-08-01", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3529/providers/Microsoft.Web/sites/csmws5258?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzUyOS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czUyNTg/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "32cbaf09-fcae-4c11-b23f-473d6acd5cfa" + "affbc515-16bc-45f1-a7ce-a70b1197b795" ], "accept-language": [ "en-US" ], "User-Agent": [ - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.0.0.1" + "FxVersion/4.6.24214.01", + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ], "Accept": [ "application/json" @@ -358,13 +370,13 @@ "no-cache" ], "Date": [ - "Fri, 11 Dec 2015 01:57:01 GMT" + "Sat, 28 Jan 2017 00:23:04 GMT" ], "Pragma": [ "no-cache" ], "ETag": [ - "\"1D133B737981300\"" + "\"1D278FCAED7C3B5\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -373,7 +385,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "3576f33f-4e55-4cd2-bcec-8fa07e8598f2" + "6fb67d5c-a18f-4ec8-8e17-0fbf66e6a5d7" ], "X-AspNet-Version": [ "4.0.30319" @@ -382,13 +394,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1094" + "1197" ], "x-ms-correlation-request-id": [ - "35cba6da-e445-4a7c-a1c6-105eb61ca2a0" + "65ab62e9-f01c-4fcd-8175-26c7301ae734" ], "x-ms-routing-request-id": [ - "CENTRALUS:20151211T015701Z:35cba6da-e445-4a7c-a1c6-105eb61ca2a0" + "WESTUS2:20170128T002304Z:65ab62e9-f01c-4fcd-8175-26c7301ae734" ] }, "StatusCode": 200 @@ -396,12 +408,12 @@ ], "Names": { "RunWebsiteTestScenario": [ - "csmws4003", - "csmrg6946", - "csmwhp8182" + "csmws5258", + "csmrg3529", + "csmwhp4254" ] }, "Variables": { - "SubscriptionId": "3312c132-fc40-493f-9c97-82d80256a313" + "SubscriptionId": "0d3ae56c-deaf-4982-b514-33d016d4a683" } } \ No newline at end of file diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndDeleteWebSiteSlot.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndDeleteWebSiteSlot.json index cf43ddd0b4af..4c0ee47c00ff 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndDeleteWebSiteSlot.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndDeleteWebSiteSlot.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "e534cf5a-7c3a-4438-9353-79b19792c098" + "cb567c0d-dda7-47be-b35b-0220311ce590" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 00:22:06 GMT" + "Fri, 27 Jan 2017 19:04:10 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14884" + "14811" ], "x-ms-request-id": [ - "4e6345b9-7d84-4f4b-bd81-a2915d6f9b27" + "16532234-8581-4b91-aceb-1ef28b5676d9" ], "x-ms-correlation-request-id": [ - "4e6345b9-7d84-4f4b-bd81-a2915d6f9b27" + "16532234-8581-4b91-aceb-1ef28b5676d9" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T002206Z:4e6345b9-7d84-4f4b-bd81-a2915d6f9b27" + "WESTUS2:20170127T190411Z:16532234-8581-4b91-aceb-1ef28b5676d9" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8811?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODgxMT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg1073?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMTA3Mz9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "30f14fa0-d42a-47a0-9eca-6896a2e11f52" + "38deecfd-4e01-4e6f-b673-369f1d305e7d" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811\",\r\n \"name\": \"csmrg8811\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073\",\r\n \"name\": \"csmrg1073\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,7 +93,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 00:22:07 GMT" + "Fri, 27 Jan 2017 19:04:11 GMT" ], "Pragma": [ "no-cache" @@ -102,13 +102,13 @@ "1199" ], "x-ms-request-id": [ - "19ebea4f-cf0e-44f7-b43f-47a5befd0e3e" + "952d4812-bc2f-4900-b447-efe09e3c79a8" ], "x-ms-correlation-request-id": [ - "19ebea4f-cf0e-44f7-b43f-47a5befd0e3e" + "952d4812-bc2f-4900-b447-efe09e3c79a8" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T002207Z:19ebea4f-cf0e-44f7-b43f-47a5befd0e3e" + "WESTUS2:20170127T190412Z:952d4812-bc2f-4900-b447-efe09e3c79a8" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/serverfarms/csmwhp7164?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODgxMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA3MTY0P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/serverfarms/csmwhp6520?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTA3My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA2NTIwP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmwhp7164\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmwhp6520\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "144" ], "x-ms-client-request-id": [ - "5a67252b-8425-43a4-b4a4-e4f97501172d" + "c51c41ee-3677-4cfc-b2fc-bc90a9cfa31a" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/serverfarms/csmwhp7164\",\r\n \"name\": \"csmwhp7164\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp7164\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8811-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8811\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-051_6768\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/serverfarms/csmwhp6520\",\r\n \"name\": \"csmwhp6520\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp6520\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg1073-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg1073\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-025_13623\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 00:22:20 GMT" + "Fri, 27 Jan 2017 19:04:33 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "931ab85d-dfa1-443c-840a-dde3a70ee13f" + "4a60138f-e42e-45f0-a5be-d97f0292f75c" ], "X-AspNet-Version": [ "4.0.30319" @@ -184,41 +181,38 @@ "1199" ], "x-ms-correlation-request-id": [ - "34cc393f-e4b7-4162-95de-544adc0569be" + "9d777829-114a-4274-94b3-154e15b7004d" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T002221Z:34cc393f-e4b7-4162-95de-544adc0569be" + "WESTUS2:20170127T190434Z:9d777829-114a-4274-94b3-154e15b7004d" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/sites/csmws2?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODgxMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czI/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/sites/csmws6275?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTA3My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYyNzU/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8811/providers/Microsoft.Web/serverfarms/csmwhp7164\"\r\n },\r\n \"name\": \"csmws2\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg1073/providers/Microsoft.Web/serverfarms/csmwhp6520\"\r\n },\r\n \"name\": \"csmws6275\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "231" + "234" ], "x-ms-client-request-id": [ - "dd6e436d-15ec-4ed3-a10c-ed12b86de031" + "2e916d18-afa1-4cba-8d3c-820a2758fb37" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/sites/csmws2\",\r\n \"name\": \"csmws2\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws2\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8811-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-051.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8811-SouthCentralUSwebspace/sites/csmws2\",\r\n \"repositorySiteName\": \"csmws2\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2.azurewebsites.net\",\r\n \"csmws2.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws2.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/serverfarms/csmwhp7164\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T00:22:23.13\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.214.116.178,104.214.113.70,104.214.117.200,40.84.199.117\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-051\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg8811\",\r\n \"defaultHostName\": \"csmws2.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/sites/csmws6275\",\r\n \"name\": \"csmws6275\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws6275\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws6275.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg1073-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-025.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg1073-SouthCentralUSwebspace/sites/csmws6275\",\r\n \"repositorySiteName\": \"csmws6275\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws6275.azurewebsites.net\",\r\n \"csmws6275.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws6275.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws6275.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/serverfarms/csmwhp6520\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:04:35.873\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws6275\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"104.214.65.233,104.214.71.33,104.214.70.167,23.102.179.4\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-025\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg1073\",\r\n \"defaultHostName\": \"csmws6275.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 00:22:24 GMT" + "Fri, 27 Jan 2017 19:04:48 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "9f1babb1-d32e-4a58-b445-e771da9b46a5" + "03496d63-51fa-4800-9213-bf3be933ea5f" ], "X-AspNet-Version": [ "4.0.30319" @@ -260,41 +254,38 @@ "1198" ], "x-ms-correlation-request-id": [ - "34c0baee-c38b-457a-bb96-ca79c9169eb6" + "9b5ea0c8-9623-4bed-ae4d-33cdb96ec8c9" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T002225Z:34c0baee-c38b-457a-bb96-ca79c9169eb6" + "WESTUS2:20170127T190448Z:9b5ea0c8-9623-4bed-ae4d-33cdb96ec8c9" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/sites/csmws2/slots/staging?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODgxMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIvc2xvdHMvc3RhZ2luZz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/sites/csmws6275/slots/staging?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTA3My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYyNzUvc2xvdHMvc3RhZ2luZz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8811/providers/Microsoft.Web/serverfarms/csmwhp7164\"\r\n },\r\n \"name\": \"csmws2/staging\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg1073/providers/Microsoft.Web/serverfarms/csmwhp6520\"\r\n },\r\n \"name\": \"csmws6275/staging\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "239" + "242" ], "x-ms-client-request-id": [ - "af2f22a0-1074-4ffe-b395-f3761ce2796c" + "56c29edd-c545-44eb-ab35-3eec45e49a24" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/sites/csmws2/slots/staging\",\r\n \"name\": \"csmws2/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws2(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8811-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-051.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8811-SouthCentralUSwebspace/sites/csmws2\",\r\n \"repositorySiteName\": \"csmws2\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2-staging.azurewebsites.net\",\r\n \"csmws2-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2-staging.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws2-staging.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/serverfarms/csmwhp7164\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T00:22:27.6466667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2__d57d\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.214.116.178,104.214.113.70,104.214.117.200,40.84.199.117\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-051\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg8811\",\r\n \"defaultHostName\": \"csmws2-staging.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/sites/csmws6275/slots/staging\",\r\n \"name\": \"csmws6275/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws6275(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws6275-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg1073-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-025.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg1073-SouthCentralUSwebspace/sites/csmws6275\",\r\n \"repositorySiteName\": \"csmws6275\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws6275-staging.azurewebsites.net\",\r\n \"csmws6275-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws6275-staging.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws6275-staging.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/serverfarms/csmwhp6520\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:04:49.953\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws6275__1a98\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"104.214.65.233,104.214.71.33,104.214.70.167,23.102.179.4\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-025\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg1073\",\r\n \"defaultHostName\": \"csmws6275-staging.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -306,7 +297,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 00:22:29 GMT" + "Fri, 27 Jan 2017 19:04:51 GMT" ], "Pragma": [ "no-cache" @@ -315,7 +306,7 @@ "chunked" ], "ETag": [ - "\"1D22F1F059E8995\"" + "\"1D278D0337FA620\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -327,7 +318,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "672bb036-9145-4f33-b494-a1819ae8eb14" + "4051dba1-26aa-4c24-953e-7b74b225b3f2" ], "X-AspNet-Version": [ "4.0.30319" @@ -339,32 +330,29 @@ "1197" ], "x-ms-correlation-request-id": [ - "686c08a6-28a2-41cb-9c2d-baa7742ec9b1" + "4504136c-b872-4324-969d-dd8b1f082ea6" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T002229Z:686c08a6-28a2-41cb-9c2d-baa7742ec9b1" + "WESTUS2:20170127T190451Z:4504136c-b872-4324-969d-dd8b1f082ea6" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/sites/csmws2/slots/staging?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODgxMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIvc2xvdHMvc3RhZ2luZz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/sites/csmws6275/slots/staging?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTA3My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYyNzUvc2xvdHMvc3RhZ2luZz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "DELETE", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "3c52039b-4577-4bbe-8b44-a06f6fdd777f" + "ca1a61c9-c6c0-4202-b8bf-277f2b181e81" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "", @@ -379,13 +367,13 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 00:22:30 GMT" + "Fri, 27 Jan 2017 19:04:52 GMT" ], "Pragma": [ "no-cache" ], "ETag": [ - "\"1D22F1F08A09900\"" + "\"1D278D03C242C60\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -394,7 +382,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "a6e82dcd-7191-4d6b-8edc-04415f65692a" + "43b39e96-d676-47e6-a331-05c75c480565" ], "X-AspNet-Version": [ "4.0.30319" @@ -406,32 +394,29 @@ "1196" ], "x-ms-correlation-request-id": [ - "e841e6d7-eff8-48d0-85d6-954976dae2b4" + "613747d5-8024-45b0-bf12-2f0fa47a50e4" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T002231Z:e841e6d7-eff8-48d0-85d6-954976dae2b4" + "WESTUS2:20170127T190453Z:613747d5-8024-45b0-bf12-2f0fa47a50e4" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8811/providers/Microsoft.Web/sites/csmws2/slots?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODgxMS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIvc2xvdHM/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg1073/providers/Microsoft.Web/sites/csmws6275/slots?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMTA3My9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czYyNzUvc2xvdHM/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0e42a57d-6c72-46e7-981d-7758c59d3b25" + "d7843aee-c1b6-4184-89ae-1f9aa17951db" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, "ResponseBody": "{\r\n \"value\": [],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", @@ -446,7 +431,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 00:22:31 GMT" + "Fri, 27 Jan 2017 19:04:52 GMT" ], "Pragma": [ "no-cache" @@ -464,7 +449,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "3662127c-479c-41e1-ad53-6da117d3c8a3" + "ca30d6d0-ae8c-459f-b2cf-a2731d9dc04a" ], "X-AspNet-Version": [ "4.0.30319" @@ -473,13 +458,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14642" + "14691" ], "x-ms-correlation-request-id": [ - "d0bea274-dc37-4da1-b9bd-11d4bcde3747" + "ed0076bf-84ba-4b0b-a9dd-70d351955d18" ], "x-ms-routing-request-id": [ - "WESTUS2:20161026T002231Z:d0bea274-dc37-4da1-b9bd-11d4bcde3747" + "WESTUS2:20170127T190453Z:ed0076bf-84ba-4b0b-a9dd-70d351955d18" ] }, "StatusCode": 200 @@ -487,9 +472,9 @@ ], "Names": { "CreateAndDeleteWebSiteSlot": [ - "csmws2", - "csmrg8811", - "csmwhp7164" + "csmws6275", + "csmrg1073", + "csmwhp6520" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyGetOnAWebsiteSlot.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyGetOnAWebsiteSlot.json index f4194bd5f15d..7521dd8ea2d3 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyGetOnAWebsiteSlot.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyGetOnAWebsiteSlot.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "def3b422-2c23-4489-a3d2-4c25beae9500" + "29382984-64d5-4c75-aaa5-7bdc257eebcf" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:25:53 GMT" + "Fri, 27 Jan 2017 19:03:30 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14743" + "14874" ], "x-ms-request-id": [ - "37a73e17-c55d-4ed5-a6b6-05a478b90e0e" + "e0f6c38b-f83d-443f-b8ff-cab495bde089" ], "x-ms-correlation-request-id": [ - "37a73e17-c55d-4ed5-a6b6-05a478b90e0e" + "e0f6c38b-f83d-443f-b8ff-cab495bde089" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012553Z:37a73e17-c55d-4ed5-a6b6-05a478b90e0e" + "CENTRALUS:20170127T190331Z:e0f6c38b-f83d-443f-b8ff-cab495bde089" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3987?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMzk4Nz9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3400?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnMzQwMD9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "3a17589c-4274-4a18-8b46-48fa788615cc" + "7da749aa-58a2-48bd-8dc0-161f1b214ca6" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987\",\r\n \"name\": \"csmrg3987\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400\",\r\n \"name\": \"csmrg3400\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,22 +93,22 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:25:54 GMT" + "Fri, 27 Jan 2017 19:03:31 GMT" ], "Pragma": [ "no-cache" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1195" + "1198" ], "x-ms-request-id": [ - "3f3e1104-9cfc-4979-a26b-bf4254e2f416" + "2bed1aab-a59d-46ed-bc37-095cb6ec0301" ], "x-ms-correlation-request-id": [ - "3f3e1104-9cfc-4979-a26b-bf4254e2f416" + "2bed1aab-a59d-46ed-bc37-095cb6ec0301" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012555Z:3f3e1104-9cfc-4979-a26b-bf4254e2f416" + "CENTRALUS:20170127T190332Z:2bed1aab-a59d-46ed-bc37-095cb6ec0301" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/serverfarms/cswhp2891?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzk4Ny9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc3docDI4OTE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/serverfarms/cswhp1565?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQwMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc3docDE1NjU/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"name\": \"cswhp2891\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"name\": \"cswhp1565\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "123" ], "x-ms-client-request-id": [ - "b40bf5f1-81ad-46b8-8c90-c5f773a60f6e" + "a92af1c0-6e28-4b55-bc75-2f1a0de42576" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/serverfarms/cswhp2891\",\r\n \"name\": \"cswhp2891\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"cswhp2891\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg3987-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg3987\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-011_21498\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/serverfarms/cswhp1565\",\r\n \"name\": \"cswhp1565\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"cswhp1565\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg3400-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg3400\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-083_3678\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:08 GMT" + "Fri, 27 Jan 2017 19:03:36 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "ba331c02-711f-431b-b2c1-18e4ff5b6f6b" + "65ccfce0-118a-4780-b13a-2ae97b15a303" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,44 +178,41 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1189" + "1199" ], "x-ms-correlation-request-id": [ - "4f8bbd3f-df27-4a66-8113-00cb675c6dc8" + "8128251e-b76e-4b20-ad12-99f21b9a7210" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012608Z:4f8bbd3f-df27-4a66-8113-00cb675c6dc8" + "CENTRALUS:20170127T190337Z:8128251e-b76e-4b20-ad12-99f21b9a7210" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/sites/csmws15?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzk4Ny9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czE1P2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/sites/csmws2191?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQwMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIxOTE/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3987/providers/Microsoft.Web/serverfarms/cswhp2891\"\r\n },\r\n \"name\": \"csmws15\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3400/providers/Microsoft.Web/serverfarms/cswhp1565\"\r\n },\r\n \"name\": \"csmws2191\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n }\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "289" + "291" ], "x-ms-client-request-id": [ - "85306589-f9bc-4a8d-9f94-94b01608d803" + "06086ace-f0cf-4842-b18b-b57e7b1fb709" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/sites/csmws15\",\r\n \"name\": \"csmws15\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws15\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws15.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3987-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-011.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3987-SouthCentralUSwebspace/sites/csmws15\",\r\n \"repositorySiteName\": \"csmws15\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws15.azurewebsites.net\",\r\n \"csmws15.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws15.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws15.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/serverfarms/cswhp2891\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:26:10.457\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws15\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.44.132.218,104.44.135.197,104.44.135.138,104.44.133.204\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-011\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg3987\",\r\n \"defaultHostName\": \"csmws15.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/sites/csmws2191\",\r\n \"name\": \"csmws2191\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"properties\": {\r\n \"name\": \"csmws2191\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2191.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3400-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3400-SouthCentralUSwebspace/sites/csmws2191\",\r\n \"repositorySiteName\": \"csmws2191\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2191.azurewebsites.net\",\r\n \"csmws2191.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2191.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws2191.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/serverfarms/cswhp1565\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:03:38.9766667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2191\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"\"\r\n },\r\n \"resourceGroup\": \"csmrg3400\",\r\n \"defaultHostName\": \"csmws2191.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:11 GMT" + "Fri, 27 Jan 2017 19:03:40 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "d36afdf4-880b-497e-af52-4a229066c8a2" + "b728cfa1-9e4a-4ebb-be2c-861fd63f8d51" ], "X-AspNet-Version": [ "4.0.30319" @@ -257,44 +251,41 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1188" + "1198" ], "x-ms-correlation-request-id": [ - "3ac5a066-2caa-4b3a-945b-86947638bcff" + "972ac64c-4cb6-4f5a-8829-2d8289152954" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012611Z:3ac5a066-2caa-4b3a-945b-86947638bcff" + "CENTRALUS:20170127T190341Z:972ac64c-4cb6-4f5a-8829-2d8289152954" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/sites/csmws15/slots/staging?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzk4Ny9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czE1L3Nsb3RzL3N0YWdpbmc/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/sites/csmws2191/slots/staging?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQwMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIxOTEvc2xvdHMvc3RhZ2luZz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3987/providers/Microsoft.Web/serverfarms/cswhp2891\"\r\n },\r\n \"name\": \"csmws15/staging\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg3400/providers/Microsoft.Web/serverfarms/cswhp1565\"\r\n },\r\n \"name\": \"csmws2191/staging\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "239" + "241" ], "x-ms-client-request-id": [ - "9c43e209-a745-4701-8949-40177ccda1b8" + "49482f81-6d05-4416-bfee-aeb5377f987d" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/sites/csmws15/slots/staging\",\r\n \"name\": \"csmws15/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws15(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws15-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3987-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-011.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3987-SouthCentralUSwebspace/sites/csmws15\",\r\n \"repositorySiteName\": \"csmws15\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws15-staging.azurewebsites.net\",\r\n \"csmws15-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws15-staging.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws15-staging.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/serverfarms/cswhp2891\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:26:14.847\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws15__ea41\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.44.132.218,104.44.135.197,104.44.135.138,104.44.133.204\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-011\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg3987\",\r\n \"defaultHostName\": \"csmws15-staging.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/sites/csmws2191/slots/staging\",\r\n \"name\": \"csmws2191/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws2191(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2191-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3400-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3400-SouthCentralUSwebspace/sites/csmws2191\",\r\n \"repositorySiteName\": \"csmws2191\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2191-staging.azurewebsites.net\",\r\n \"csmws2191-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2191-staging.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws2191-staging.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/serverfarms/cswhp1565\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:03:43.12\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2191__0e85\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg3400\",\r\n \"defaultHostName\": \"csmws2191-staging.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -306,7 +297,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:23 GMT" + "Fri, 27 Jan 2017 19:03:44 GMT" ], "Pragma": [ "no-cache" @@ -315,7 +306,7 @@ "chunked" ], "ETag": [ - "\"1D22F27EEE43950\"" + "\"1D278D011C0A195\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -327,7 +318,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "de229ee7-1d60-4889-a45e-2bc1778a7788" + "d4f89647-7008-459c-874c-7e5072ba1b70" ], "X-AspNet-Version": [ "4.0.30319" @@ -336,38 +327,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1187" + "1197" ], "x-ms-correlation-request-id": [ - "470b1689-9dd6-4595-95e3-a9c434d7470c" + "1e314f71-a5d1-4dd9-9a8a-d981433aa066" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012623Z:470b1689-9dd6-4595-95e3-a9c434d7470c" + "CENTRALUS:20170127T190344Z:1e314f71-a5d1-4dd9-9a8a-d981433aa066" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/sites/csmws15/slots?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzk4Ny9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czE1L3Nsb3RzP2FwaS12ZXJzaW9uPTIwMTYtMDgtMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/sites/csmws2191/slots?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnMzQwMC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czIxOTEvc2xvdHM/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "19eaeb87-b151-4702-b49c-ff01d67f4ab1" + "70aa8ad9-d860-4c46-acc4-ad27c794a75e" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/sites/csmws15/slots/staging\",\r\n \"name\": \"csmws15/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws15(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws15-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3987-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-011.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3987-SouthCentralUSwebspace/sites/csmws15\",\r\n \"repositorySiteName\": \"csmws15\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws15-staging.azurewebsites.net\",\r\n \"csmws15-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws15-staging.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws15-staging.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3987/providers/Microsoft.Web/serverfarms/cswhp2891\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:26:16.113\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws15__ea41\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.44.132.218,104.44.135.197,104.44.135.138,104.44.133.204\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-011\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg3987\",\r\n \"defaultHostName\": \"csmws15-staging.azurewebsites.net\"\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/sites/csmws2191/slots/staging\",\r\n \"name\": \"csmws2191/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws2191(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws2191-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg3400-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-083.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg3400-SouthCentralUSwebspace/sites/csmws2191\",\r\n \"repositorySiteName\": \"csmws2191\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws2191-staging.azurewebsites.net\",\r\n \"csmws2191-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws2191-staging.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws2191-staging.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg3400/providers/Microsoft.Web/serverfarms/cswhp1565\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:03:43.6666667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws2191__0e85\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"23.102.156.235,23.102.157.162,23.102.159.42,23.102.159.215\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-083\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg3400\",\r\n \"defaultHostName\": \"csmws2191-staging.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -379,7 +367,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:23 GMT" + "Fri, 27 Jan 2017 19:03:44 GMT" ], "Pragma": [ "no-cache" @@ -397,7 +385,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "d2c8ae07-0a94-4624-ab81-32f30aa82016" + "29bd28fd-2d75-493f-84d3-9dcd2c20d304" ], "X-AspNet-Version": [ "4.0.30319" @@ -406,13 +394,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14899" + "14779" ], "x-ms-correlation-request-id": [ - "5f0e8cb7-7d1a-487d-9f3d-579591359c05" + "9fa6da9d-69a8-4078-8e68-66e3931ed505" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012623Z:5f0e8cb7-7d1a-487d-9f3d-579591359c05" + "CENTRALUS:20170127T190345Z:9fa6da9d-69a8-4078-8e68-66e3931ed505" ] }, "StatusCode": 200 @@ -420,9 +408,9 @@ ], "Names": { "CreateAndVerifyGetOnAWebsiteSlot": [ - "csmws15", - "csmrg3987", - "cswhp2891" + "csmws2191", + "csmrg3400", + "cswhp1565" ] }, "Variables": { diff --git a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyListOfSlots.json b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyListOfSlots.json index 14b855a771af..df37584a894b 100644 --- a/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyListOfSlots.json +++ b/src/ResourceManagement/WebSite/WebSite.Tests/SessionRecords/WebSites.Tests.ScenarioTests.WebSiteSlotScenarioTests/CreateAndVerifyListOfSlots.json @@ -7,7 +7,7 @@ "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "db0f73cb-9f22-4cdc-8f4a-a9fb0bd78834" + "6c306979-0d5b-41e4-8083-306d590be69d" ], "accept-language": [ "en-US" @@ -17,7 +17,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/providers/Microsoft.Web\",\r\n \"namespace\": \"Microsoft.Web\",\r\n \"authorization\": {\r\n \"applicationId\": \"abfa0a7c-a6b6-4736-8310-5855508787cd\",\r\n \"roleDefinitionId\": \"f47ed98b-b063-4a5b-9e10-4b9b44fa7735\"\r\n },\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"sites/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/instances/extensions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"publishingUsers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostnameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"validate\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"isusernameavailable\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sourceControls\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"availableStacks\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"listSitesAssignedToHostName\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/domainOwnershipIdentifiers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/hostNameBindings\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"certificates\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/workers\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"sites/slots\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"runtimes\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/slots/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"serverFarms/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-08-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"recommendations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"georegions\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"sites/premieraddons\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/multiRolePools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-09-01\",\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metrics\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"hostingEnvironments/workerPools/instances/metricDefinitions\",\r\n \"locations\": [\r\n \"East Asia (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"managedHostingEnvironments\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"deploymentLocations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"functions\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"ishostingenvironmentnameavailable\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"classicMobileServices\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"connections\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/managedApis\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/apiOperations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"connectionGateways\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ],\r\n \"capabilities\": \"None\"\r\n },\r\n {\r\n \"resourceType\": \"locations/connectionGatewayInstallations\",\r\n \"locations\": [\r\n \"North Central US\",\r\n \"Central US\",\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"West US 2\",\r\n \"West Central US\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-06-01\",\r\n \"2015-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"South Central US\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Southeast Asia\",\r\n \"West US\",\r\n \"East US\",\r\n \"Japan West\",\r\n \"Japan East\",\r\n \"East Asia\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"Central US\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"West India\",\r\n \"Central India\",\r\n \"South India\",\r\n \"Canada Central\",\r\n \"Canada East\",\r\n \"West Central US\",\r\n \"UK West\",\r\n \"UK South\",\r\n \"West US 2\",\r\n \"MSFT West US\",\r\n \"MSFT East US\",\r\n \"MSFT East Asia\",\r\n \"MSFT North Europe\",\r\n \"East US 2 (Stage)\",\r\n \"East Asia (Stage)\",\r\n \"Central US (Stage)\",\r\n \"North Central US (Stage)\"\r\n ],\r\n \"apiVersions\": [\r\n \"2016-03-01\",\r\n \"2015-08-01-preview\",\r\n \"2015-08-01\",\r\n \"2015-07-01\",\r\n \"2015-06-01\",\r\n \"2015-05-01\",\r\n \"2015-04-01\",\r\n \"2015-02-01\",\r\n \"2014-11-01\",\r\n \"2014-06-01\",\r\n \"2014-04-01-preview\",\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -29,7 +29,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:26 GMT" + "Fri, 27 Jan 2017 19:03:48 GMT" ], "Pragma": [ "no-cache" @@ -38,16 +38,16 @@ "Accept-Encoding" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14896" + "14920" ], "x-ms-request-id": [ - "2dcc0c95-73a6-4d08-a570-fd4d98155fd3" + "d4fd3edd-6dc1-4dfb-b8e2-3d902ccfe204" ], "x-ms-correlation-request-id": [ - "2dcc0c95-73a6-4d08-a570-fd4d98155fd3" + "d4fd3edd-6dc1-4dfb-b8e2-3d902ccfe204" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012627Z:2dcc0c95-73a6-4d08-a570-fd4d98155fd3" + "CENTRALUS:20170127T190348Z:d4fd3edd-6dc1-4dfb-b8e2-3d902ccfe204" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -56,8 +56,8 @@ "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8065?api-version=2015-11-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnODA2NT9hcGktdmVyc2lvbj0yMDE1LTExLTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg6114?api-version=2015-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlZ3JvdXBzL2NzbXJnNjExND9hcGktdmVyc2lvbj0yMDE1LTExLTAx", "RequestMethod": "PUT", "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { @@ -68,7 +68,7 @@ "38" ], "x-ms-client-request-id": [ - "f95f4bcb-dc8a-4dff-992d-154f561df27e" + "efb4e54d-ca28-4d34-a236-fc5d6840a528" ], "accept-language": [ "en-US" @@ -78,7 +78,7 @@ "Microsoft.Azure.Management.Resources.ResourceManagementClient/1.0.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065\",\r\n \"name\": \"csmrg8065\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114\",\r\n \"name\": \"csmrg6114\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", "ResponseHeaders": { "Content-Length": [ "179" @@ -93,7 +93,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:27 GMT" + "Fri, 27 Jan 2017 19:03:49 GMT" ], "Pragma": [ "no-cache" @@ -102,13 +102,13 @@ "1196" ], "x-ms-request-id": [ - "d4f73a0c-3abf-40e2-b623-4ad9f6c11472" + "f5966083-07d9-4700-bbec-1f4fb385a886" ], "x-ms-correlation-request-id": [ - "d4f73a0c-3abf-40e2-b623-4ad9f6c11472" + "f5966083-07d9-4700-bbec-1f4fb385a886" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012628Z:d4f73a0c-3abf-40e2-b623-4ad9f6c11472" + "CENTRALUS:20170127T190349Z:f5966083-07d9-4700-bbec-1f4fb385a886" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" @@ -117,10 +117,10 @@ "StatusCode": 201 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/serverfarms/csmwhp5869?api-version=2016-09-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODA2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA1ODY5P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/serverfarms/csmwhp8397?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjExNC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zZXJ2ZXJmYXJtcy9jc213aHA4Mzk3P2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmwhp5869\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"name\": \"csmwhp8397\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -129,20 +129,17 @@ "144" ], "x-ms-client-request-id": [ - "4bd2cac0-d443-40b5-9aa7-64180c149c87" + "60e7b534-6a83-4a14-8e7e-ef2772f90ec5" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/serverfarms/csmwhp5869\",\r\n \"name\": \"csmwhp5869\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp5869\",\r\n \"workerSize\": 0,\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": 0,\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": 0,\r\n \"webSpace\": \"csmrg8065-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": 0,\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": null,\r\n \"resourceGroup\": \"csmrg8065\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-011_21499\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/serverfarms/csmwhp8397\",\r\n \"name\": \"csmwhp8397\",\r\n \"type\": \"Microsoft.Web/serverfarms\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"serverFarmId\": 0,\r\n \"name\": \"csmwhp8397\",\r\n \"workerSize\": \"Small\",\r\n \"workerSizeId\": 0,\r\n \"workerTierName\": null,\r\n \"numberOfWorkers\": 1,\r\n \"currentWorkerSize\": \"Small\",\r\n \"currentWorkerSizeId\": 0,\r\n \"currentNumberOfWorkers\": 1,\r\n \"status\": \"Ready\",\r\n \"webSpace\": \"csmrg6114-SouthCentralUSwebspace\",\r\n \"subscription\": \"0d3ae56c-deaf-4982-b514-33d016d4a683\",\r\n \"adminSiteName\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"maximumNumberOfWorkers\": 10,\r\n \"planName\": \"VirtualDedicatedPlan\",\r\n \"adminRuntimeSiteName\": null,\r\n \"computeMode\": \"Shared\",\r\n \"siteMode\": null,\r\n \"geoRegion\": \"South Central US\",\r\n \"perSiteScaling\": false,\r\n \"numberOfSites\": 0,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"kind\": \"app\",\r\n \"resourceGroup\": \"csmrg6114\",\r\n \"reserved\": false,\r\n \"mdmId\": \"waws-prod-sn1-077_1230\",\r\n \"targetWorkerCount\": 0,\r\n \"targetWorkerSizeId\": 0,\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"sku\": {\r\n \"name\": \"S1\",\r\n \"tier\": \"Standard\",\r\n \"size\": \"S1\",\r\n \"family\": \"S\",\r\n \"capacity\": 1\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -154,7 +151,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:42 GMT" + "Fri, 27 Jan 2017 19:04:00 GMT" ], "Pragma": [ "no-cache" @@ -172,7 +169,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "732f47ad-6757-49f7-a452-b290321759df" + "e297977f-1c0e-4f6f-aa2d-5c3de47c2bef" ], "X-AspNet-Version": [ "4.0.30319" @@ -181,22 +178,22 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1196" + "1198" ], "x-ms-correlation-request-id": [ - "183ecb34-36d5-4443-bdcb-fab9007585b9" + "1f565968-c168-4653-a04a-395b4b71752d" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012643Z:183ecb34-36d5-4443-bdcb-fab9007585b9" + "CENTRALUS:20170127T190400Z:1f565968-c168-4653-a04a-395b4b71752d" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/sites/csmws9147?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODA2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czkxNDc/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/sites/csmws4529?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjExNC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQ1Mjk/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8065/providers/Microsoft.Web/serverfarms/csmwhp5869\"\r\n },\r\n \"name\": \"csmws9147\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg6114/providers/Microsoft.Web/serverfarms/csmwhp8397\"\r\n },\r\n \"name\": \"csmws4529\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -205,20 +202,17 @@ "234" ], "x-ms-client-request-id": [ - "3f8fd1b6-a074-4b58-bfaf-b3044bdb7499" + "1b403c2a-6925-49a0-bd6f-04383de56be8" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/sites/csmws9147\",\r\n \"name\": \"csmws9147\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws9147\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws9147.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8065-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-011.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8065-SouthCentralUSwebspace/sites/csmws9147\",\r\n \"repositorySiteName\": \"csmws9147\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws9147.azurewebsites.net\",\r\n \"csmws9147.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws9147.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws9147.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/serverfarms/csmwhp5869\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:26:45.88\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws9147\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.44.132.218,104.44.135.197,104.44.135.138,104.44.133.204\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-011\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg8065\",\r\n \"defaultHostName\": \"csmws9147.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/sites/csmws4529\",\r\n \"name\": \"csmws4529\",\r\n \"type\": \"Microsoft.Web/sites\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws4529\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws4529.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg6114-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-077.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg6114-SouthCentralUSwebspace/sites/csmws4529\",\r\n \"repositorySiteName\": \"csmws4529\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws4529.azurewebsites.net\",\r\n \"csmws4529.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws4529.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws4529.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/serverfarms/csmwhp8397\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:04:01.7166667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws4529\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"13.84.36.2,13.84.37.101,13.84.37.200,13.84.32.172,13.84.39.187\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-077\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg6114\",\r\n \"defaultHostName\": \"csmws4529.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -230,7 +224,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:46 GMT" + "Fri, 27 Jan 2017 19:04:02 GMT" ], "Pragma": [ "no-cache" @@ -248,7 +242,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "b91b0268-6103-423a-b014-67df2f3013b7" + "3d8bf97b-268f-42c7-95a5-74adeac9d65e" ], "X-AspNet-Version": [ "4.0.30319" @@ -257,22 +251,22 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1195" + "1197" ], "x-ms-correlation-request-id": [ - "66dfba7b-a124-4e4b-9cab-ceb9e09bfb09" + "bae1cf23-b62a-40ba-8cae-5e2df6e66aa2" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012647Z:66dfba7b-a124-4e4b-9cab-ceb9e09bfb09" + "CENTRALUS:20170127T190403Z:bae1cf23-b62a-40ba-8cae-5e2df6e66aa2" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/sites/csmws9147/slots/staging?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODA2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czkxNDcvc2xvdHMvc3RhZ2luZz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/sites/csmws4529/slots/staging?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjExNC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQ1Mjkvc2xvdHMvc3RhZ2luZz9hcGktdmVyc2lvbj0yMDE2LTA4LTAx", "RequestMethod": "PUT", - "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg8065/providers/Microsoft.Web/serverfarms/csmwhp5869\"\r\n },\r\n \"name\": \"csmws9147/staging\",\r\n \"location\": \"South Central US\"\r\n}", + "RequestBody": "{\r\n \"properties\": {\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourcegroups/csmrg6114/providers/Microsoft.Web/serverfarms/csmwhp8397\"\r\n },\r\n \"name\": \"csmws4529/staging\",\r\n \"location\": \"South Central US\"\r\n}", "RequestHeaders": { "Content-Type": [ "application/json; charset=utf-8" @@ -281,20 +275,17 @@ "242" ], "x-ms-client-request-id": [ - "0d3b7ea6-54b3-4838-b0ec-2471063d7fc2" + "16dba3f8-b716-4279-977b-f6c4b598e7e4" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/sites/csmws9147/slots/staging\",\r\n \"name\": \"csmws9147/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws9147(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws9147-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8065-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-011.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8065-SouthCentralUSwebspace/sites/csmws9147\",\r\n \"repositorySiteName\": \"csmws9147\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws9147-staging.azurewebsites.net\",\r\n \"csmws9147-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws9147-staging.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws9147-staging.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/serverfarms/csmwhp5869\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:26:50.63\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws9147__ff40\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.44.132.218,104.44.135.197,104.44.135.138,104.44.133.204\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-011\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg8065\",\r\n \"defaultHostName\": \"csmws9147-staging.azurewebsites.net\"\r\n }\r\n}", + "ResponseBody": "{\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/sites/csmws4529/slots/staging\",\r\n \"name\": \"csmws4529/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws4529(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws4529-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg6114-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-077.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg6114-SouthCentralUSwebspace/sites/csmws4529\",\r\n \"repositorySiteName\": \"csmws4529\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws4529-staging.azurewebsites.net\",\r\n \"csmws4529-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws4529-staging.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws4529-staging.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/serverfarms/csmwhp8397\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:04:04.7966667\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws4529__89ef\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"13.84.36.2,13.84.37.101,13.84.37.200,13.84.32.172,13.84.39.187\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-077\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg6114\",\r\n \"defaultHostName\": \"csmws4529-staging.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -306,7 +297,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:53 GMT" + "Fri, 27 Jan 2017 19:04:07 GMT" ], "Pragma": [ "no-cache" @@ -315,7 +306,7 @@ "chunked" ], "ETag": [ - "\"1D22F2804258210\"" + "\"1D278D01F285535\"" ], "Server": [ "Microsoft-IIS/8.0" @@ -327,7 +318,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "e1ba2eb8-b4d1-4812-9227-d8a3fabde3d4" + "7a709606-e8db-4fb2-a29b-a4344c8dbf56" ], "X-AspNet-Version": [ "4.0.30319" @@ -336,38 +327,35 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-writes": [ - "1194" + "1196" ], "x-ms-correlation-request-id": [ - "43028d27-4c59-43c7-8f33-e1623da72300" + "fa46062e-27f4-41e4-9a59-86f1cb9a1ecf" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012654Z:43028d27-4c59-43c7-8f33-e1623da72300" + "CENTRALUS:20170127T190407Z:fa46062e-27f4-41e4-9a59-86f1cb9a1ecf" ] }, "StatusCode": 200 }, { - "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/sites/csmws9147/slots?api-version=2016-08-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnODA2NS9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czkxNDcvc2xvdHM/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", + "RequestUri": "/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/sites/csmws4529/slots?api-version=2016-08-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMGQzYWU1NmMtZGVhZi00OTgyLWI1MTQtMzNkMDE2ZDRhNjgzL3Jlc291cmNlR3JvdXBzL2NzbXJnNjExNC9wcm92aWRlcnMvTWljcm9zb2Z0LldlYi9zaXRlcy9jc213czQ1Mjkvc2xvdHM/YXBpLXZlcnNpb249MjAxNi0wOC0wMQ==", "RequestMethod": "GET", "RequestBody": "", "RequestHeaders": { "x-ms-client-request-id": [ - "0f63efec-a250-4746-b6d4-65dc69698969" + "7f73b484-b3ef-4485-a132-21ac68babc3c" ], "accept-language": [ "en-US" ], "User-Agent": [ "FxVersion/4.6.24214.01", - "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.3.2-preview" - ], - "Accept": [ - "application/json" + "Microsoft.Azure.Management.WebSites.WebSiteManagementClient/1.5.0-preview" ] }, - "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/sites/csmws9147/slots/staging\",\r\n \"name\": \"csmws9147/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws9147(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws9147-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg8065-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-011.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg8065-SouthCentralUSwebspace/sites/csmws9147\",\r\n \"repositorySiteName\": \"csmws9147\",\r\n \"owner\": null,\r\n \"usageState\": 0,\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws9147-staging.azurewebsites.net\",\r\n \"csmws9147-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": 0,\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws9147-staging.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 0\r\n },\r\n {\r\n \"name\": \"csmws9147-staging.scm.azurewebsites.net\",\r\n \"sslState\": 0,\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": 0,\r\n \"hostType\": 1\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg8065/providers/Microsoft.Web/serverfarms/csmwhp5869\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2016-10-26T01:26:52.02\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": 0,\r\n \"runtimeAvailabilityState\": 0,\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws9147__ff40\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": null,\r\n \"outboundIpAddresses\": \"104.44.132.218,104.44.135.197,104.44.135.138,104.44.133.204\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-011\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg8065\",\r\n \"defaultHostName\": \"csmws9147-staging.azurewebsites.net\"\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/sites/csmws4529/slots/staging\",\r\n \"name\": \"csmws4529/staging\",\r\n \"type\": \"Microsoft.Web/sites/slots\",\r\n \"kind\": \"app\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"name\": \"csmws4529(staging)\",\r\n \"state\": \"Running\",\r\n \"hostNames\": [\r\n \"csmws4529-staging.azurewebsites.net\"\r\n ],\r\n \"webSpace\": \"csmrg6114-SouthCentralUSwebspace\",\r\n \"selfLink\": \"https://waws-prod-sn1-077.api.azurewebsites.windows.net:454/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/webspaces/csmrg6114-SouthCentralUSwebspace/sites/csmws4529\",\r\n \"repositorySiteName\": \"csmws4529\",\r\n \"owner\": null,\r\n \"usageState\": \"Normal\",\r\n \"enabled\": true,\r\n \"adminEnabled\": true,\r\n \"enabledHostNames\": [\r\n \"csmws4529-staging.azurewebsites.net\",\r\n \"csmws4529-staging.scm.azurewebsites.net\"\r\n ],\r\n \"siteProperties\": {\r\n \"metadata\": null,\r\n \"properties\": [],\r\n \"appSettings\": null\r\n },\r\n \"availabilityState\": \"Normal\",\r\n \"sslCertificates\": null,\r\n \"csrs\": [],\r\n \"cers\": null,\r\n \"siteMode\": null,\r\n \"hostNameSslStates\": [\r\n {\r\n \"name\": \"csmws4529-staging.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Standard\"\r\n },\r\n {\r\n \"name\": \"csmws4529-staging.scm.azurewebsites.net\",\r\n \"sslState\": \"Disabled\",\r\n \"ipBasedSslResult\": null,\r\n \"virtualIP\": null,\r\n \"thumbprint\": null,\r\n \"toUpdate\": null,\r\n \"toUpdateIpBasedSsl\": null,\r\n \"ipBasedSslState\": \"NotConfigured\",\r\n \"hostType\": \"Repository\"\r\n }\r\n ],\r\n \"computeMode\": null,\r\n \"serverFarm\": null,\r\n \"serverFarmId\": \"/subscriptions/0d3ae56c-deaf-4982-b514-33d016d4a683/resourceGroups/csmrg6114/providers/Microsoft.Web/serverfarms/csmwhp8397\",\r\n \"reserved\": false,\r\n \"lastModifiedTimeUtc\": \"2017-01-27T19:04:05.4033333\",\r\n \"storageRecoveryDefaultState\": \"Running\",\r\n \"contentAvailabilityState\": \"Normal\",\r\n \"runtimeAvailabilityState\": \"Normal\",\r\n \"siteConfig\": null,\r\n \"deploymentId\": \"csmws4529__89ef\",\r\n \"trafficManagerHostNames\": null,\r\n \"sku\": \"Standard\",\r\n \"premiumAppDeployed\": null,\r\n \"scmSiteAlsoStopped\": false,\r\n \"targetSwapSlot\": null,\r\n \"hostingEnvironment\": null,\r\n \"hostingEnvironmentProfile\": null,\r\n \"microService\": \"WebSites\",\r\n \"gatewaySiteName\": null,\r\n \"clientAffinityEnabled\": true,\r\n \"clientCertEnabled\": false,\r\n \"hostNamesDisabled\": false,\r\n \"domainVerificationIdentifiers\": null,\r\n \"kind\": \"app\",\r\n \"outboundIpAddresses\": \"13.84.36.2,13.84.37.101,13.84.37.200,13.84.32.172,13.84.39.187\",\r\n \"containerSize\": 0,\r\n \"dailyMemoryTimeQuota\": 0,\r\n \"suspendedTill\": null,\r\n \"siteDisabledReason\": 0,\r\n \"functionExecutionUnitsCache\": null,\r\n \"maxNumberOfWorkers\": null,\r\n \"homeStamp\": \"waws-prod-sn1-077\",\r\n \"cloningInfo\": null,\r\n \"hostingEnvironmentId\": null,\r\n \"tags\": null,\r\n \"resourceGroup\": \"csmrg6114\",\r\n \"defaultHostName\": \"csmws4529-staging.azurewebsites.net\",\r\n \"slotSwapStatus\": null\r\n }\r\n }\r\n ],\r\n \"nextLink\": null,\r\n \"id\": null\r\n}", "ResponseHeaders": { "Content-Type": [ "application/json" @@ -379,7 +367,7 @@ "no-cache" ], "Date": [ - "Wed, 26 Oct 2016 01:26:54 GMT" + "Fri, 27 Jan 2017 19:04:07 GMT" ], "Pragma": [ "no-cache" @@ -397,7 +385,7 @@ "max-age=31536000; includeSubDomains" ], "x-ms-request-id": [ - "cbda2fcb-0fca-4a5b-a10b-88a7c06b038c" + "e6aa24e8-b405-4006-853b-aef474015c1d" ], "X-AspNet-Version": [ "4.0.30319" @@ -406,13 +394,13 @@ "ASP.NET" ], "x-ms-ratelimit-remaining-subscription-reads": [ - "14714" + "14895" ], "x-ms-correlation-request-id": [ - "8fd5b36a-34c7-4494-901c-a1cae9abee07" + "70c6a54a-0309-45c0-9438-63bba33070a8" ], "x-ms-routing-request-id": [ - "CENTRALUS:20161026T012655Z:8fd5b36a-34c7-4494-901c-a1cae9abee07" + "CENTRALUS:20170127T190408Z:70c6a54a-0309-45c0-9438-63bba33070a8" ] }, "StatusCode": 200 @@ -420,9 +408,9 @@ ], "Names": { "CreateAndVerifyListOfSlots": [ - "csmws9147", - "csmrg8065", - "csmwhp5869" + "csmws4529", + "csmrg6114", + "csmwhp8397" ] }, "Variables": {